New test.
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / CheckBoxField.cs
index 182c6dd04e485fdddbe5c2abdeb616d6f270551a..0b1d08554b057ba75744454b0b4189e85bf3be87 100644 (file)
@@ -41,33 +41,41 @@ namespace System.Web.UI.WebControls {
        [AspNetHostingPermissionAttribute (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
        public class CheckBoxField : BoundField
        {
-           [EditorBrowsableAttribute (EditorBrowsableState.Never)]\r
-           [BrowsableAttribute (false)]\r
-           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]\r
+               [EditorBrowsableAttribute (EditorBrowsableState.Never)]
+               [BrowsableAttribute (false)]
+               [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]
+               public override bool ApplyFormatInEditMode {
+                       get { throw GetNotSupportedPropException ("ApplyFormatInEditMode"); }
+                       set { throw GetNotSupportedPropException ("ApplyFormatInEditMode"); }
+               }
+
+           [EditorBrowsableAttribute (EditorBrowsableState.Never)]
+           [BrowsableAttribute (false)]
+           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]
                public override bool ConvertEmptyStringToNull {
                        get { throw GetNotSupportedPropException ("ConvertEmptyStringToNull"); } 
                        set { throw GetNotSupportedPropException ("ConvertEmptyStringToNull"); } 
                }
                
-           [EditorBrowsableAttribute (EditorBrowsableState.Never)]\r
-           [BrowsableAttribute (false)]\r
-           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]\r
+           [EditorBrowsableAttribute (EditorBrowsableState.Never)]
+           [BrowsableAttribute (false)]
+           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]
                public override string DataFormatString {
                        get { throw GetNotSupportedPropException ("DataFormatString"); } 
                        set { throw GetNotSupportedPropException ("DataFormatString"); } 
                }
                
-           [EditorBrowsableAttribute (EditorBrowsableState.Never)]\r
-           [BrowsableAttribute (false)]\r
-           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]\r
+           [EditorBrowsableAttribute (EditorBrowsableState.Never)]
+           [BrowsableAttribute (false)]
+           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]
                public override bool HtmlEncode {
                        get { throw GetNotSupportedPropException ("HtmlEncode"); } 
                        set { throw GetNotSupportedPropException ("HtmlEncode"); } 
                }
                
-           [EditorBrowsableAttribute (EditorBrowsableState.Never)]\r
-           [BrowsableAttribute (false)]\r
-           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]\r
+           [EditorBrowsableAttribute (EditorBrowsableState.Never)]
+           [BrowsableAttribute (false)]
+           [DesignerSerializationVisibilityAttribute (DesignerSerializationVisibility.Hidden)]
                public override string NullDisplayText {
                        get { throw GetNotSupportedPropException ("NullDisplayText"); } 
                        set { throw GetNotSupportedPropException ("NullDisplayText"); } 
@@ -77,26 +85,26 @@ namespace System.Web.UI.WebControls {
                        get { return false; }
                }
                
-           [WebCategoryAttribute ("Appearance")]\r
-           [LocalizableAttribute (true)]\r
-           [DefaultValueAttribute ("")]\r
+               [LocalizableAttribute (true)]
+               [DefaultValueAttribute ("")]
+               [WebSysDescription ("")]
+               [WebCategoryAttribute ("Appearance")]
                public virtual string Text {
-                       get {
-                               object ob = ViewState ["Text"];
-                               if (ob != null) return (string) ob;
-                               return "";
-                       }
+                       get { return ViewState.GetString ("Text", ""); }
                        set {
                                ViewState ["Text"] = value;
                                OnFieldChanged ();
                        }
                }
                
-               public override void InitializeDataCell (DataControlFieldCell cell, DataControlRowState rowState)
+               protected override void InitializeDataCell (DataControlFieldCell cell, DataControlRowState rowState)
                {
                        bool editable = (rowState & (DataControlRowState.Edit | DataControlRowState.Insert)) != 0;
                        CheckBox box = new CheckBox ();
-                       box.Enabled = editable && !ReadOnly;
+                       box.Enabled = editable && !ReadOnly;\r
+                       if (editable)
+                               box.ToolTip = HeaderText;
+                       box.Text = Text;
                        cell.Controls.Add (box);
                }
                
@@ -109,16 +117,24 @@ namespace System.Web.UI.WebControls {
                
                protected override void OnDataBindField (object sender, EventArgs e)
                {
-                       DataControlFieldCell cell = (DataControlFieldCell) sender;
-                       CheckBox box = (CheckBox) cell.Controls [0];
-                       object val = GetValue (cell.BindingContainer);
-                       if (val != null) {
-                               box.Checked = (bool)val;
-                               if (!box.Visible)
-                                       box.Visible = true;
+                       try {
+                               DataControlFieldCell cell = (DataControlFieldCell) sender;
+                               CheckBox box = (CheckBox) cell.Controls [0];
+                               object val = GetValue (cell.BindingContainer);
+                               if (val != null) {
+                                       box.Checked = (bool) val;
+                                       if (!box.Visible)
+                                               box.Visible = true;
+                               }
+                               else
+                                       box.Visible = false;
+                       }
+                       catch (HttpException) {
+                               throw;
+                       }
+                       catch (Exception ex) {
+                               throw new HttpException (ex.Message, ex);
                        }
-                       else
-                               box.Visible = false;
                }
                
                protected override object GetDesignTimeValue ()