X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Web%2FSystem.Web.UI.HtmlControls%2FHtmlTableRow.cs;h=b58ce168181c1346aee37bba4b397e64a9905729;hb=a5e40870bd3bb18e1681afed6c71e7edfdb80534;hp=d282a7039bf63a88e671b764b044e8b2c3a9e543;hpb=234225d112c4b018b8d1796f4c06a15812137500;p=mono.git diff --git a/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlTableRow.cs b/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlTableRow.cs old mode 100755 new mode 100644 index d282a7039bf..b58ce168181 --- a/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlTableRow.cs +++ b/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlTableRow.cs @@ -1,156 +1,218 @@ -/* System.Web.UI.HtmlControls -* Authors -* Leen Toelen (toelen@hotmail.com) -*/ - -using System; -using System.ComponentModel; -using System.Web; -using System.Web.UI; - -namespace System.Web.UI.HtmlControls{ - [ParseChildren(true, "Cells")] - public class HtmlTableRow : HtmlContainerControl { - private HtmlTableCellCollection _cells; - public HtmlTableRow():base("tr"){} - - protected override ControlCollection CreateControlCollection(){ - return new HtmlTableCellControlCollection(this); - } - - protected override void RenderChildren(HtmlTextWriter writer){ - writer.WriteLine(); - writer.Indent = writer.Indent + 1; - base.RenderChildren(writer); - writer.Indent = writer.Indent - 1; - } - - protected override void RenderEndTag(HtmlTextWriter writer){ - base.RenderEndTag(writer); - writer.WriteLine(); - } - - [DefaultValue("")] - [WebCategory("Layout")] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public string Align { - get{ - string attr = Attributes["align"]; - if (attr != null) return attr; - return String.Empty; - } - set{ - Attributes["align"] = AttributeToString(value); - } - } - - [DefaultValue("")] - [WebCategory("Appearance")] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public string BgColor { - get{ - string attr = Attributes["bgcolor"]; - if (attr != null) return attr; - return String.Empty; - } - set{ - Attributes["bgcolor"] = AttributeToString(value); - } - } - - [DefaultValue("")] - [WebCategory("Appearance")] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public string BorderColor { - get{ - string attr = Attributes["bordercolor"]; - if (attr != null) return attr; - return String.Empty; - } - set{ - Attributes["bordercolor"] = AttributeToString(value); - } - } - - [Browsable(false)] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public virtual HtmlTableCellCollection Cells { - get{ - if (_cells == null) _cells = new HtmlTableCellCollection(this); - return _cells; - } - } - - [DefaultValue("")] - [WebCategory("Layout")] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public string Height { - get{ - string attr = Attributes["height"]; - if (attr != null) return attr; - return String.Empty; - } - set{ - Attributes["height"] = AttributeToString(value); - } - } - - public override string InnerHtml { - get{ - throw new NotSupportedException("InnerHtml is not supported by HtmlTableRow"); - } - set{ - throw new NotSupportedException("InnerHtml is not supported by HtmlTableRow"); - } - } - - public override string InnerText { - get{ - throw new NotSupportedException("InnerText is not supported by HtmlTableRow"); - } - set{ - throw new NotSupportedException("InnerText is not supported by HtmlTableRow"); - } - } - - [DefaultValue("")] - [WebCategory("Layout")] - [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] - public string VAlign { - get{ - string attr = Attributes["valign"]; - if (attr != null) return attr; - return String.Empty; - } - set{ - Attributes["valign"] = AttributeToString(value); - } - } - - - - protected class HtmlTableCellControlCollection : ControlCollection { - - internal HtmlTableCellControlCollection(Control owner): base(owner){} - - public override void Add(Control child){ - if (child is HtmlTableCell){ - base.Add(child); - } - else{ - throw new ArgumentException("HtmlTableRow cannot have children of Type " + child.GetType().Name); - } - } - - public override void AddAt(int index, Control child){ - if (child is HtmlTableCell){ - base.AddAt(index,child); - } - else{ - throw new ArgumentException("HtmlTableRow cannot have children of Type " + child.GetType().Name); - } - } - } - } // end of System.Web.UI.HtmlControls.HtmlTableRow+HtmlTableCellControlCollection - // end of System.Web.UI.HtmlControls.HtmlTableRow -} +// +// System.Web.UI.HtmlControls.HtmlTableRow.cs +// +// Author: +// Sebastien Pouliot +// +// Copyright (C) 2005 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.ComponentModel; +using System.Security.Permissions; + +namespace System.Web.UI.HtmlControls { + + // CAS + [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] + [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] + // attributes + [ParseChildren (true, "Cells")] + public class HtmlTableRow : HtmlContainerControl { + + HtmlTableCellCollection _cells; + + + public HtmlTableRow () + : base ("tr") + { + } + + + [DefaultValue ("")] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [WebSysDescription("")] + [WebCategory("Layout")] + public string Align { + get { + string s = Attributes ["align"]; + return (s == null) ? String.Empty : s; + } + set { + if (value == null) + Attributes.Remove ("align"); + else + Attributes ["align"] = value; + } + } + + [DefaultValue ("")] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [WebSysDescription("")] + [WebCategory("Appearance")] + public string BgColor { + get { + string s = Attributes ["bgcolor"]; + return (s == null) ? String.Empty : s; + } + set { + if (value == null) + Attributes.Remove ("bgcolor"); + else + Attributes ["bgcolor"] = value; + } + } + + [DefaultValue ("")] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [WebSysDescription("")] + [WebCategory("Appearance")] + public string BorderColor { + get { + string s = Attributes ["bordercolor"]; + return (s == null) ? String.Empty : s; + } + set { + if (value == null) + Attributes.Remove ("bordercolor"); + else + Attributes ["bordercolor"] = value; + } + } + + [Browsable (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + public virtual HtmlTableCellCollection Cells { + get { + if (_cells == null) + _cells = new HtmlTableCellCollection (this); + return _cells; + } + } + + [DefaultValue ("")] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [WebSysDescription("")] + [WebCategory("Layout")] + public string Height { + get { + string s = Attributes ["height"]; + return (s == null) ? String.Empty : s; + } + set { + if (value == null) + Attributes.Remove ("height"); + else + Attributes ["height"] = value; + } + } + + public override string InnerHtml { + get { throw new NotSupportedException (); } + set { throw new NotSupportedException (); } + } + + public override string InnerText { + get { throw new NotSupportedException (); } + set { throw new NotSupportedException (); } + } + + [DefaultValue ("")] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [WebSysDescription("")] + [WebCategory("Layout")] + public string VAlign { + get { + string s = Attributes ["valign"]; + return (s == null) ? String.Empty : s; + } + set { + if (value == null) + Attributes.Remove ("valign"); + else + Attributes ["valign"] = value; + } + } + + int Count { + get { return (_cells == null) ? 0 : _cells.Count; } + } + + + protected override ControlCollection CreateControlCollection () + { + return new HtmlTableCellControlCollection (this); + } + +#if NET_2_0 + protected internal +#else + protected +#endif + override void RenderChildren (HtmlTextWriter writer) + { + if (HasControls ()) { + writer.Indent++; + base.RenderChildren (writer); + writer.Indent--; + writer.WriteLine (); + } + } + + protected override void RenderEndTag (HtmlTextWriter writer) + { + if (Count == 0) + writer.WriteLine (); + writer.WriteEndTag (TagName); + if (writer.Indent == 0) + writer.WriteLine (); + } + + + protected class HtmlTableCellControlCollection : ControlCollection { + + internal HtmlTableCellControlCollection (HtmlTableRow owner) + : base (owner) + { + } + + public override void Add (Control child) + { + if (child == null) + throw new NullReferenceException ("null"); + if (!(child is HtmlTableCell)) + throw new ArgumentException ("child", Locale.GetText ("Must be an HtmlTableCell instance.")); + + base.Add (child); + } + + public override void AddAt (int index, Control child) + { + if (child == null) + throw new NullReferenceException ("null"); + if (!(child is HtmlTableCell)) + throw new ArgumentException ("child", Locale.GetText ("Must be an HtmlTableCell instance.")); + + base.AddAt (index, child); + } + } + } +}