ChangeLog: Updated
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / LinkButton.cs
index b67c02fda92e6f65ffd7784cd7980ffa347177f8..58397ddbe5ed23bec6abedd4b09a5d7829436493 100644 (file)
@@ -1,28 +1,48 @@
-/**\r
- * Namespace: System.Web.UI.WebControls\r
- * Class:     LinkButton\r
- *\r
- * Author:  Gaurav Vaish\r
- * Maintainer: gvaish@iitk.ac.in\r
- * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
- * Implementation: yes\r
- * Status:  100%\r
- *\r
- * (C) Gaurav Vaish (2001)\r
- */\r
+//
+// System.Web.UI.WebControls.LinkButton.cs
+//
+// Authors:
+//   Gaurav Vaish (gvaish@iitk.ac.in)
+//   Andreas Nahr (ClassDevelopment@A-SoftTech.com)
+//
+// (C) Gaurav Vaish (2002)
+// (C) 2003 Andreas Nahr
+//\r
+
+//
+// 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.
+//
 \r
 using System;\r
 using System.Web;\r
 using System.Web.UI;\r
-using System.ComponentModel;\r
+using System.ComponentModel;
+using System.ComponentModel.Design;\r
 \r
 namespace System.Web.UI.WebControls\r
 {\r
        [DefaultEvent("Click")]\r
        [DefaultProperty("Text")]\r
-       //[Designer("??")]\r
        [ControlBuilder(typeof(LinkButtonControlBuilder))]\r
-       //[DataBindingHandler("??")]\r
+       [Designer("System.Web.UI.Design.WebControls.LinkButtonDesigner, " + Consts.AssemblySystem_Design, typeof (IDesigner))]\r
+       [DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + Consts.AssemblySystem_Design)]\r
        [ParseChildren(false)]\r
        [ToolboxData("<{0}:LinkButton runat=\"server\">LinkButton</{0}:LinkButton>")]\r
        public class LinkButton : WebControl, IPostBackEventHandler\r
@@ -33,7 +53,9 @@ namespace System.Web.UI.WebControls
                public LinkButton () : base (HtmlTextWriterTag.A)\r
                {\r
                }\r
-\r
+
+               [DefaultValue (true), Bindable (false), WebCategory ("Behavior")]
+               [WebSysDescription ("Determines if validation is performed when clicked.")]\r
                public bool CausesValidation\r
                {\r
                        get {\r
@@ -43,7 +65,9 @@ namespace System.Web.UI.WebControls
 \r
                        set { ViewState ["CausesValidation"] = value; }\r
                }\r
-\r
+
+               [DefaultValue (""), Bindable (true), WebCategory ("Behavior")]
+               [WebSysDescription ("An argument for the Command of this control.")]\r
                public string CommandArgument\r
                {\r
                        get {\r
@@ -53,7 +77,9 @@ namespace System.Web.UI.WebControls
 \r
                        set { ViewState ["CommandArgument"] = value; }\r
                }\r
-\r
+
+               [DefaultValue (""), WebCategory ("Behavior")]
+               [WebSysDescription ("The name of the Command of this control.")]\r
                public string CommandName\r
                {\r
                        get {\r
@@ -63,7 +89,10 @@ namespace System.Web.UI.WebControls
 \r
                        set { ViewState ["CommandName"] = value; }\r
                }\r
-\r
+
+               [DefaultValue (""), Bindable (true), WebCategory ("Appearance")]
+               [PersistenceMode (PersistenceMode.InnerDefaultProperty)]
+               [WebSysDescription ("The text that should be shown on this LinkButton.")]\r
                public virtual string Text\r
                {\r
                        get {\r
@@ -73,13 +102,17 @@ namespace System.Web.UI.WebControls
 \r
                        set { ViewState ["Text"] = value; }\r
                }\r
-\r
+
+               [WebCategory ("Action")]
+               [WebSysDescription ("Raised when the LinkButton is clicked.")]\r
                public event EventHandler Click\r
                {\r
                        add { Events.AddHandler(ClickEvent, value); }\r
                        remove { Events.RemoveHandler(ClickEvent, value); }\r
                }\r
-\r
+
+               [WebCategory ("Action")]
+               [WebSysDescription ("Raised when a LinkButton Command is executed.")]\r
                public event CommandEventHandler Command\r
                {\r
                        add { Events.AddHandler(CommandEvent, value); }\r
@@ -102,9 +135,10 @@ namespace System.Web.UI.WebControls
                                if (ceh != null)\r
                                        ceh (this, e);\r
                        }\r
+                       RaiseBubbleEvent (this, e);\r
                }\r
 \r
-               protected virtual void OnPreRender (EventArgs e)\r
+               protected override void OnPreRender (EventArgs e)\r
                {\r
                        base.OnPreRender(e);\r
                }\r