コード例 #1
0
ファイル: tab.cs プロジェクト: hadkins1/Windows-Server-2003
        protected override void Render(HtmlTextWriter output)
        {
            int index            = 0;
            int visiblePageCount = 0;
            int capWidth         = ((UddiBrowser.IsDownlevel && !UddiBrowser.IsNetscape6) ? 1 : 4);

            output.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0");
            output.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
            output.AddAttribute(HtmlTextWriterAttribute.Border, "0");

            if (!UddiBrowser.IsDownlevel || UddiBrowser.IsNetscape6)
            {
                output.AddAttribute(HtmlTextWriterAttribute.Width, "100%");
            }

            Style.AddAttributesToRender(output);
            output.RenderBeginTag(HtmlTextWriterTag.Table);

            output.RenderBeginTag(HtmlTextWriterTag.Colgroup);

            foreach (TabPage page in Controls)
            {
                if (page.ShouldDisplay)
                {
                    output.Write("<col width='" + capWidth + "'>");
                    output.Write("<col>");
                    output.Write("<col width='" + capWidth + "'>");
                }
            }

            if (!UddiBrowser.IsDownlevel || UddiBrowser.IsNetscape6)
            {
                output.Write("<col width='0*'>");
            }

            output.RenderEndTag();

            output.RenderBeginTag(HtmlTextWriterTag.Tr);

            foreach (TabPage page in Controls)
            {
                if (page.ShouldDisplay)
                {
                    //
                    // Create the begin tab cell.
                    //
                    if (index == SelectedIndex)
                    {
                        TabBeginSelectedStyle.AddAttributesToRender(output);
                    }
                    else
                    {
                        TabBeginStyle.AddAttributesToRender(output);
                    }

                    output.AddAttribute("width", capWidth.ToString());
                    output.RenderBeginTag(HtmlTextWriterTag.Td);
                    output.Write("<img src='" + ((UddiPage)Page).Root + "/images/trans_pixel.gif' width='" + capWidth + "'>");
                    output.RenderEndTag();

                    //
                    // Create the link and text for the tab.
                    //
                    if (index == SelectedIndex)
                    {
                        TabSelectedStyle.AddAttributesToRender(output);
                    }
                    else
                    {
                        TabStyle.AddAttributesToRender(output);
                    }

                    if (!UddiBrowser.IsDownlevel || UddiBrowser.IsNetscape6)
                    {
                        output.AddAttribute("width", "100");
                    }

                    output.AddAttribute("align", "center");
                    output.RenderBeginTag(HtmlTextWriterTag.Td);

                    output.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.GetPostBackEventReference(this, Convert.ToString(index)));
                    output.Write("<nobr>&nbsp;&nbsp;");
                    output.RenderBeginTag(HtmlTextWriterTag.A);
                    output.Write(Localization.GetString(page.Name));
                    output.RenderEndTag();
                    output.Write("&nbsp;&nbsp;</nobr>");

                    output.RenderEndTag();

                    //
                    // Create the closing tab cell.
                    //
                    if (index == SelectedIndex)
                    {
                        TabEndSelectedStyle.AddAttributesToRender(output);
                    }
                    else
                    {
                        TabEndStyle.AddAttributesToRender(output);
                    }

                    output.AddAttribute("width", capWidth.ToString());
                    output.RenderBeginTag(HtmlTextWriterTag.Td);
                    output.Write("<img src='" + ((UddiPage)Page).Root + "/images/trans_pixel.gif' width='" + capWidth + "'>");
                    output.RenderEndTag();

                    visiblePageCount++;
                }

                index++;
            }

            //
            // Render the leftover space at the end of the tabs
            //
            if (!UddiBrowser.IsDownlevel || UddiBrowser.IsNetscape6)
            {
                TabGapStyle.AddAttributesToRender(output);

                output.AddAttribute("width", "100%");
                output.RenderBeginTag(HtmlTextWriterTag.Td);
                output.Write("<img src='" + ((UddiPage)Page).Root + "/images/trans_pixel.gif' width='1'>");
                output.RenderEndTag();
            }

            //
            // Add the completed tab row to the table.
            //
            output.RenderEndTag();

            //
            // Test to see if we can fix the table spacing problems in IE6
            // Task: Split the table in to tables
            //
            output.RenderEndTag();

            output.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "10");
            output.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
            output.AddAttribute(HtmlTextWriterAttribute.Width, "100%");



            if (UddiBrowser.IsDownlevel && !UddiBrowser.IsNetscape6)
            {
                output.AddAttribute(HtmlTextWriterAttribute.Border, "1");
                output.AddAttribute(HtmlTextWriterAttribute.Bordercolor, "#639ace");
            }

            output.AddAttribute(HtmlTextWriterAttribute.Bgcolor, "#f0f8ff");
            TabBodyStyle.AddAttributesToRender(output);
            output.RenderBeginTag(HtmlTextWriterTag.Table);

            output.RenderBeginTag(HtmlTextWriterTag.Tr);

            output.AddAttribute("valign", "top");
            output.RenderBeginTag(HtmlTextWriterTag.Td);

            if (((UddiPage)Page).EditMode && tabSwitch)
            {
                output.AddAttribute("color", "red");
                output.RenderBeginTag(HtmlTextWriterTag.Font);
                output.Write(Localization.GetString("ERROR_FINISH_EDIT"));
                output.RenderEndTag();
                output.Write("<br><br>");
            }

            this.Controls[SelectedIndex].RenderControl(output);

            output.RenderEndTag();
            output.RenderEndTag();
            output.RenderEndTag();
            output.Write("<br>");

            /*
             * //
             * // Create the tab page content
             * //
             * //if( UddiBrowser.IsDownlevel )
             * //{
             * output.RenderEndTag();
             *
             * output.AddAttribute( HtmlTextWriterAttribute.Cellpadding, "10" );
             * output.AddAttribute( HtmlTextWriterAttribute.Cellspacing, "0" );
             * output.AddAttribute( HtmlTextWriterAttribute.Width, "100%" );
             * output.AddAttribute( HtmlTextWriterAttribute.Border, "1" );
             * output.AddAttribute( HtmlTextWriterAttribute.Bordercolor, "#639ace" );
             * output.AddAttribute( HtmlTextWriterAttribute.Bgcolor, "#f0f8ff" );
             * output.RenderBeginTag( HtmlTextWriterTag.Table );
             *
             * output.RenderBeginTag( HtmlTextWriterTag.Tr );
             * output.RenderBeginTag( HtmlTextWriterTag.Td );
             *
             * if( ((UddiPage)Page).EditMode && tabSwitch )
             * {
             * output.AddAttribute( "color", "red" );
             * output.RenderBeginTag( HtmlTextWriterTag.Font );
             * output.Write( Localization.GetString( "ERROR_FINISH_EDIT" ) );
             * output.RenderEndTag();
             * output.Write( "<br><br>" );
             * }
             *
             * this.Controls[ SelectedIndex ].RenderControl( output );
             *
             * output.RenderEndTag();
             * output.RenderEndTag();
             * output.RenderEndTag();
             * output.Write( "<br>" );
             * }
             * else
             * {
             *
             * output.RenderBeginTag( HtmlTextWriterTag.Tr );
             *
             * TabPageStyle.AddAttributesToRender( output );
             * output.AddAttribute( HtmlTextWriterAttribute.Valign, "top" );
             * output.AddAttribute( HtmlTextWriterAttribute.Colspan, Convert.ToString( visiblePageCount * 3 + 1 ) );
             * output.RenderBeginTag( HtmlTextWriterTag.Td );
             *
             * if( ((UddiPage)Page).EditMode && tabSwitch )
             * {
             * output.AddAttribute( "color", "red" );
             * output.RenderBeginTag( HtmlTextWriterTag.Font );
             * output.Write( Localization.GetString( "ERROR_FINISH_EDIT" ) );
             * output.RenderEndTag();
             * output.Write( "<br><br>" );
             * }
             *
             * this.Controls[ SelectedIndex ].RenderControl( output );
             *
             * output.RenderEndTag();
             * output.RenderEndTag();
             * output.RenderEndTag();
             * }
             */
        }