2006-10-18 Igor Zelmanovich <igorz@mainsoft.com>
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / ButtonField.cs
index 4176ff7d2d763fb482b30c05f6baef3881e23f93..92eb9c65fea64a4e9b3167e0dd2d2fdcae13c013 100644 (file)
@@ -44,74 +44,59 @@ namespace System.Web.UI.WebControls {
        {
                PropertyDescriptor boundProperty;
 
-           [WebCategoryAttribute ("Behavior")]\r
-           [DefaultValueAttribute ("")]\r
+               [DefaultValueAttribute ("")]
+               [WebSysDescription ("Raised when a Button Command is executed.")]
+               [WebCategoryAttribute ("Behavior")]
                public virtual string CommandName {
-                       get {
-                               object ob = ViewState ["CommandName"];
-                               if (ob != null) return (string) ob;
-                               return "";
-                       }
+                       get { return ViewState.GetString ("CommandName", ""); }
                        set {
                                ViewState ["CommandName"] = value;
                                OnFieldChanged ();
                        }
                }
                
-           [WebCategoryAttribute ("Data")]\r
-           [DefaultValueAttribute ("")]\r
-               [TypeConverterAttribute ("System.Web.UI.Design.DataSourceViewSchemaConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
+               [DefaultValueAttribute ("")]
+               [TypeConverterAttribute ("System.Web.UI.Design.DataSourceViewSchemaConverter, " + Consts.AssemblySystem_Design)]
+               [WebSysDescription ("")]
+               [WebCategoryAttribute ("Data")]
                public virtual string DataTextField {
-                       get {
-                               object ob = ViewState ["DataTextField"];
-                               if (ob != null) return (string) ob;
-                               return "";
-                       }
+                       get { return ViewState.GetString ("DataTextField", ""); }
                        set {
                                ViewState ["DataTextField"] = value;
                                OnFieldChanged ();
                        }
                }
                
-           [WebCategoryAttribute ("Data")]\r
-           [DefaultValueAttribute ("")]\r
+               [DefaultValueAttribute ("")]\r
+               [WebSysDescription ("")]
+               [WebCategoryAttribute ("Data")]
                public virtual string DataTextFormatString {
-                       get {
-                               object ob = ViewState ["DataTextFormatString"];
-                               if (ob != null) return (string) ob;
-                               return "";
-                       }
+                       get { return ViewState.GetString ("DataTextFormatString", ""); }
                        set {
                                ViewState ["DataTextFormatString"] = value;
                                OnFieldChanged ();
                        }
                }
                
-               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]\r
-           [WebCategoryAttribute ("Appearance")]\r
-           [DefaultValueAttribute ("")]\r
-           [UrlPropertyAttribute]\r
+               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
+               [WebSysDescription ("")]
+               [WebCategoryAttribute ("Appearance")]
+               [DefaultValueAttribute ("")]\r
+               [UrlPropertyAttribute]\r
                public virtual string ImageUrl {
-                       get {
-                               object ob = ViewState ["ImageUrl"];
-                               if (ob != null) return (string) ob;
-                               return "";
-                       }
+                       get { return ViewState.GetString ("ImageUrl", ""); }
                        set {
                                ViewState ["ImageUrl"] = value;
                                OnFieldChanged ();
                        }
                }
                
-           [LocalizableAttribute (true)]\r
-           [WebCategoryAttribute ("Appearance")]\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 ();
@@ -143,7 +128,8 @@ namespace System.Web.UI.WebControls {
                                btn.CommandArgument = index;
                                
                                if (DataTextField != "") {
-                                       cell.DataBinding += new EventHandler (OnDataBindField);
+                                       if ((rowState & DataControlRowState.Insert) == 0)
+                                               cell.DataBinding += new EventHandler (OnDataBindField);
                                }
                                else {
                                        btn.Text = Text;
@@ -175,6 +161,28 @@ namespace System.Web.UI.WebControls {
                        }
                        return boundProperty.GetValue (dic.DataItem);
                }
+               
+               protected override DataControlField CreateField ()
+               {
+                       return new ButtonField ();
+               }
+               
+               protected override void CopyProperties (DataControlField newField)
+               {
+                       base.CopyProperties (newField);
+                       ButtonField field = (ButtonField) newField;
+                       field.CommandName = CommandName;
+                       field.DataTextField = DataTextField;
+                       field.DataTextFormatString = DataTextFormatString;
+                       field.ImageUrl = ImageUrl;
+                       field.Text = Text;
+               }
+
+               [MonoTODO]
+               public override void ValidateSupportsCallback ()
+               {
+                       throw new NotImplementedException ();
+               }
        }
 }
 #endif