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> "); output.RenderBeginTag(HtmlTextWriterTag.A); output.Write(Localization.GetString(page.Name)); output.RenderEndTag(); output.Write(" </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(); * } */ }