Merge pull request #2084 from joelmartinez/mdoc-deletetestfix
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / TableCell.cs
index dd0dd5bb301b80f2c7243837e9fd9eb1a5458f46..bf62564556d9af45349ae7b29e0f12b9817c1099 100644 (file)
@@ -30,6 +30,7 @@ using System.ComponentModel;
 using System.Globalization;
 using System.Security.Permissions;
 using System.Text;
+using System.Web.Util;
 
 namespace System.Web.UI.WebControls {
 
@@ -41,12 +42,8 @@ namespace System.Web.UI.WebControls {
        [DefaultProperty ("Text")]
        [ParseChildren (false)]
        [ToolboxItem ("")]
-#if NET_2_0
        [Bindable (false)]
        [Designer ("System.Web.UI.Design.WebControls.PreviewControlDesigner, " + Consts.AssemblySystem_Design, "System.ComponentModel.Design.IDesigner")]
-#else
-       [PersistChildren (true)]
-#endif
        public class TableCell : WebControl {
 
                public TableCell ()
@@ -64,7 +61,6 @@ namespace System.Web.UI.WebControls {
                }
 
 
-#if NET_2_0
                [DefaultValue (null)]
                [TypeConverter (typeof (StringArrayConverter))]
                public virtual string[] AssociatedHeaderCellID {
@@ -79,11 +75,7 @@ namespace System.Web.UI.WebControls {
                                        ViewState ["AssociatedHeaderCellID"] = value;
                        }
                }
-#endif
 
-#if ONLY_1_1
-               [Bindable (true)]
-#endif
                [DefaultValue (0)]
                [WebSysDescription ("")]
                [WebCategory ("Appearance")]
@@ -100,9 +92,6 @@ namespace System.Web.UI.WebControls {
                        }
                }
 
-#if ONLY_1_1
-               [Bindable (true)]
-#endif
                [DefaultValue (HorizontalAlign.NotSet)]
                [WebSysDescription ("")]
                [WebCategory ("Layout")]
@@ -115,9 +104,6 @@ namespace System.Web.UI.WebControls {
                        set { TableItemStyle.HorizontalAlign = value; }
                }
 
-#if ONLY_1_1
-               [Bindable (true)]
-#endif
                [DefaultValue (0)]
                [WebSysDescription ("")]
                [WebCategory ("Layout")]
@@ -134,12 +120,8 @@ namespace System.Web.UI.WebControls {
                        }
                }
 
-#if NET_2_0
                [Localizable (true)]
                [PersistenceMode (PersistenceMode.InnerDefaultProperty)]
-#else
-               [Bindable (true)]
-#endif
                [DefaultValue ("")]
                [WebSysDescription ("")]
                [WebCategory ("Appearance")]
@@ -159,9 +141,6 @@ namespace System.Web.UI.WebControls {
                        }
                }
 
-#if ONLY_1_1
-               [Bindable (true)]
-#endif
                [DefaultValue (VerticalAlign.NotSet)]
                [WebSysDescription ("")]
                [WebCategory ("Layout")]
@@ -174,9 +153,6 @@ namespace System.Web.UI.WebControls {
                        set { TableItemStyle.VerticalAlign = value; }
                }
 
-#if ONLY_1_1
-               [Bindable (true)]
-#endif
                [DefaultValue (true)]
                [WebSysDescription ("")]
                [WebCategory ("Layout")]
@@ -188,12 +164,13 @@ namespace System.Web.UI.WebControls {
                        }
                        set { TableItemStyle.Wrap = value; }
                }
-
-               private TableItemStyle TableItemStyle {
+               public override bool SupportsDisabledAttribute {
+                       get { return RenderingCompatibilityLessThan40; }
+               }
+               TableItemStyle TableItemStyle {
                        get { return (ControlStyle as TableItemStyle); }
                }
 
-
                protected override void AddAttributesToRender (HtmlTextWriter writer)
                {
                        base.AddAttributesToRender (writer);
@@ -202,12 +179,11 @@ namespace System.Web.UI.WebControls {
 
                        int i = ColumnSpan;
                        if (i > 0)
-                               writer.AddAttribute (HtmlTextWriterAttribute.Colspan, i.ToString (CultureInfo.InvariantCulture));
+                               writer.AddAttribute (HtmlTextWriterAttribute.Colspan, i.ToString (Helpers.InvariantCulture), false);
 
                        i = RowSpan;
                        if (i > 0)
-                               writer.AddAttribute (HtmlTextWriterAttribute.Rowspan, i.ToString (CultureInfo.InvariantCulture));
-#if NET_2_0
+                               writer.AddAttribute (HtmlTextWriterAttribute.Rowspan, i.ToString (Helpers.InvariantCulture), false);
                        string[] ahci = AssociatedHeaderCellID;
                        if (ahci.Length > 1) {
                                StringBuilder sb = new StringBuilder ();
@@ -221,7 +197,6 @@ namespace System.Web.UI.WebControls {
                                // most common case (without a StringBuilder)
                                writer.AddAttribute (HtmlTextWriterAttribute.Headers, ahci [0]);
                        }
-#endif
                }
 
                protected override void AddParsedSubObject (object obj)
@@ -251,14 +226,10 @@ namespace System.Web.UI.WebControls {
                        return new TableItemStyle (ViewState);
                }
 
-#if NET_2_0
                protected internal
-#else          
-               protected
-#endif         
                override void RenderContents (HtmlTextWriter writer)
                {
-                       if (HasControls ())
+                       if (HasControls () || HasRenderMethodDelegate ())
                                base.RenderContents (writer);
                        else
                                writer.Write (Text);