Merge pull request #2323 from esdrubal/servicemodel
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / ButtonColumn.cs
index 6174befa596e228d19d4ef875fb991080b4c9818..94d8ee9c046c88e1e78662c358c6f544dfc5041a 100644 (file)
@@ -5,7 +5,7 @@
 //      Dick Porter  <dick@ximian.com>
 //      Gonzalo Paniagua Javier (gonzalo@ximian.com)
 //
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2005-2010 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
 using System.ComponentModel;
 using System.Security.Permissions;
 
-namespace System.Web.UI.WebControls {
-
+namespace System.Web.UI.WebControls
+{
        // CAS
        [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
        [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class ButtonColumn : DataGridColumn {
-                      
+       public class ButtonColumn : DataGridColumn
+       {
+               string text_field;
+               string format;
+
                [DefaultValue(ButtonColumnType.LinkButton)]
-#if NET_2_0
                [WebSysDescription("The type of button contained within the column.")]
-#else
-               [Description("The type of button contained within the column.")]
-#endif
                [WebCategory ("Misc")]
-               public virtual ButtonColumnType ButtonType
-               {
+               public virtual ButtonColumnType ButtonType {
                        get {
                                return (ButtonColumnType) ViewState.GetInt ("LinkButton",
                                                (int) ButtonColumnType.LinkButton);
                        }
-                       set {
-                               ViewState ["LinkButton"] = value;
-                       }
+                       set { ViewState ["LinkButton"] = value; }
                }
                
                [DefaultValue("")]
-#if NET_2_0
                [WebSysDescription("The command associated with the button.")]
-#else
-               [Description("The command associated with the button.")]
-#endif
                [WebCategory ("Misc")]
-               public virtual string CommandName
-               {
-                       get {
-                               return ViewState.GetString ("CommandName", String.Empty);
-                       }
-                       set {
-                               ViewState ["CommandName"] = value;
-                       }
+               public virtual string CommandName {
+                       get { return ViewState.GetString ("CommandName", String.Empty); }
+                       set { ViewState ["CommandName"] = value; }
                }
 
-#if NET_2_0
                [DefaultValue (false)]
                [WebSysDescription("")]
                [WebCategory ("Behavior")]
-               public virtual bool CausesValidation
-               {
-                       get {
-                               return ViewState.GetBool ("CausesValidation", false);
-                       }
-                       set {
-                               ViewState ["CausesValidation"] = value;
-                       }
+               public virtual bool CausesValidation {
+                       get { return ViewState.GetBool ("CausesValidation", false); }
+                       set { ViewState ["CausesValidation"] = value; }
                }
-#endif
 
                [DefaultValue("")]
-#if NET_2_0
                [WebSysDescription("The field bound to the text property of the button.")]
-#else
-               [Description("The field bound to the text property of the button.")]
-#endif
                [WebCategory ("Misc")]
-               public virtual string DataTextField 
-               {
-                       get {
-                               return ViewState.GetString ("DataTextField", String.Empty);
-                       }
-                       set {
-                               ViewState ["DataTextField"] = value;
-                       }
+               public virtual string DataTextField {
+                       get { return ViewState.GetString ("DataTextField", String.Empty); }
+                       set { ViewState ["DataTextField"] = value; }
                }
                
                [DefaultValue("")]
-#if NET_2_0
                [WebSysDescription("The formatting applied to the value bound to the Text property.")]
-#else
-               [Description("The formatting applied to the value bound to the Text property.")]
-#endif
                [WebCategory ("Misc")]
-               public virtual string DataTextFormatString 
-               {
-                       get {
-                               return ViewState.GetString ("DataTextFormatString",
-                                               String.Empty);
-                       }
+               public virtual string DataTextFormatString {
+                       get { return ViewState.GetString ("DataTextFormatString", String.Empty); }
                        set {
                                ViewState ["DataTextFormatString"] = value;
                                format = null;
@@ -124,37 +87,21 @@ namespace System.Web.UI.WebControls {
                }
 
                [DefaultValue("")]
-#if NET_2_0
                [Localizable (true)]
                [WebSysDescription("The text used for the button.")]
-#else
-               [Description("The text used for the button.")]
-#endif
                [WebCategory ("Misc")]
-               public virtual string Text 
-               {
-                       get {
-                               return ViewState.GetString ("Text", String.Empty);
-                       }
-                       set {
-                               ViewState ["Text"] = value;
-                       }
+               public virtual string Text {
+                       get { return ViewState.GetString ("Text", String.Empty); }
+                       set { ViewState ["Text"] = value; }
                }
 
-#if NET_2_0
                [DefaultValue ("")]
                [WebSysDescription("")]
                [WebCategory ("Behavior")]
-               public virtual string ValidationGroup
-               {
-                       get {
-                               return ViewState.GetString ("ValidationGroup", "");
-                       }
-                       set {
-                               ViewState ["ValidationGroup"] = value;
-                       }
+               public virtual string ValidationGroup {
+                       get { return ViewState.GetString ("ValidationGroup", String.Empty); }
+                       set { ViewState ["ValidationGroup"] = value; }
                }
-#endif
                
                public override void Initialize ()
                {
@@ -164,54 +111,50 @@ namespace System.Web.UI.WebControls {
                        base.Initialize ();
                }
 
-               public override void InitializeCell (TableCell cell,
-                                                    int columnIndex,
-                                                    ListItemType itemType)
+               public override void InitializeCell (TableCell cell, int columnIndex, ListItemType itemType)
                {
                        base.InitializeCell (cell, columnIndex, itemType);
 
-                       if (itemType != ListItemType.Header &&
-                           itemType != ListItemType.Footer) {
+                       if (itemType != ListItemType.Header && itemType != ListItemType.Footer) {
                                switch (ButtonType) {
-                               case ButtonColumnType.LinkButton: 
-                               {
-                                       LinkButton butt = new ForeColorLinkButton ();
+                                       case ButtonColumnType.LinkButton: 
+                                       {
+                                               LinkButton butt = new ForeColorLinkButton ();
                                        
-                                       butt.Text = Text;
-                                       butt.CommandName = CommandName;
+                                               butt.Text = Text;
+                                               butt.CommandName = CommandName;
 
-                                       if (DataTextField != "")
-                                               butt.DataBinding += new EventHandler (DoDataBind);
+                                               if (!String.IsNullOrEmpty (DataTextField))
+                                                       butt.DataBinding += new EventHandler (DoDataBind);
 
-                                       cell.Controls.Add (butt);
-                               }
-                               break;
+                                               cell.Controls.Add (butt);
+                                       }
+                                       break;
 
-                               case ButtonColumnType.PushButton: 
-                               {
-                                       Button butt = new Button ();
+                                       case ButtonColumnType.PushButton: 
+                                       {
+                                               Button butt = new Button ();
                                        
-                                       butt.Text = Text;
-                                       butt.CommandName = CommandName;
-
-                                       if (DataTextField != "")
-                                               butt.DataBinding += new EventHandler (DoDataBind);
-                                       cell.Controls.Add (butt);
-                               }
-                               break;
+                                               butt.Text = Text;
+                                               butt.CommandName = CommandName;
+
+                                               if (!String.IsNullOrEmpty (DataTextField))
+                                                       butt.DataBinding += new EventHandler (DoDataBind);
+                                               cell.Controls.Add (butt);
+                                       }
+                                       break;
                        
                                }
                        }
                }
-
-               string text_field;
+               
                string GetValueFromItem (DataGridItem item)
                {
                        object val = null;
                        if (text_field == null)
                                text_field = DataTextField;
 
-                       if (text_field != "")
+                       if (!String.IsNullOrEmpty (text_field))
                                val = DataBinder.Eval (item.DataItem, text_field);
 
                        return FormatDataTextValue (val);
@@ -226,21 +169,19 @@ namespace System.Web.UI.WebControls {
                        if (lb == null) {
                                Button b = (Button) sender;
                                b.Text = text;
-                       } else {
+                       } else
                                lb.Text = text;
-                       }
                }
-
-               string format;
+               
                protected virtual string FormatDataTextValue (object dataTextValue)
                {
                        if (dataTextValue == null)
-                               return "";
+                               return String.Empty;
 
                        if (format == null)
                                format = DataTextFormatString;
 
-                       if (format == "")
+                       if (String.IsNullOrEmpty (format))
                                return dataTextValue.ToString ();
 
                        return String.Format (format, dataTextValue);