2001:11:12 Gaurav Vaish <gvaish@iitk.ac.in>
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / CheckBox.cs
1 /**\r
2  * Namespace: System.Web.UI.WebControls\r
3  * Class:     CheckBox\r
4  * \r
5  * Author:  Gaurav Vaish\r
6  * Maintainer: gvaish@iitk.ac.in\r
7  * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
8  * Status:  60%\r
9  * \r
10  * (C) Gaurav Vaish (2001)\r
11  */\r
12 \r
13 using System;\r
14 using System.Collections;\r
15 using System.Collections.Specialized;\r
16 using System.Web;\r
17 using System.Web.UI;\r
18 \r
19 namespace System.Web.UI.WebControls\r
20 {\r
21         public class CheckBox : WebControl, IPostBackDataHandler\r
22         {\r
23                 private static readonly object CheckedChangedEvent = new object();\r
24 \r
25                 public CheckBox()\r
26                 {\r
27                         //\r
28                 }\r
29                 \r
30                 public virtual bool AutoPostBack\r
31                 {\r
32                         get\r
33                         {\r
34                                 object o = ViewState["AutoPostBack"];\r
35                                 if(o!=null)\r
36                                         return (bool)AutoPostBack;\r
37                                 return false;\r
38                         }\r
39                         set\r
40                         {\r
41                                 ViewState["AutoPostBack"] = value;\r
42                         }\r
43                 }\r
44                 \r
45                 public virtual bool Checked\r
46                 {\r
47                         get\r
48                         {\r
49                                 object o = ViewState["Checked"];\r
50                                 if(o!=null)\r
51                                         return (bool)o;\r
52                                 return false;\r
53                         }\r
54                         set\r
55                         {\r
56                                 ViewState["Checked"] = value;\r
57                         }\r
58                 }\r
59 \r
60                 public virtual string Text\r
61                 {\r
62                         get\r
63                         {\r
64                                 object o = ViewState["Text"];\r
65                                 if(o!=null)\r
66                                         return (string)o;\r
67                                 return String.Empty;\r
68                         }\r
69                         set\r
70                         {\r
71                                 ViewState["Text"] = value;\r
72                         }\r
73                 }\r
74                 \r
75                 public virtual TextAlign TextAlign\r
76                 {\r
77                         get\r
78                         {\r
79                                 object o = ViewState["TextAlign"];\r
80                                 if(o!=null)\r
81                                         return (TextAlign)o;\r
82                                 return TextAlign.Right;\r
83                         }\r
84                         set\r
85                         {\r
86                                 if(!System.Enum.IsDefined(typeof(TextAlign), value))\r
87                                         throw new ArgumentException();\r
88                                 ViewState["TextAlign"] = value;\r
89                         }\r
90                 }\r
91                 \r
92                 public event EventHandler CheckedChanged\r
93                 {\r
94                         add\r
95                         {\r
96                                 Events.AddHandler(CheckedChangedEvent, value);\r
97                         }\r
98                         remove\r
99                         {\r
100                                 Events.RemoveHandler(CheckedChangedEvent, value);\r
101                         }\r
102                 }\r
103                 \r
104                 protected virtual void OnCheckedChanged(EventArgs e)\r
105                 {\r
106                         if(Events!=null)\r
107                         {\r
108                                 EventHandler eh = (EventHandler)(Events[CheckedChangedEvent]);\r
109                                 if(eh!=null)\r
110                                         eh(this, e);\r
111                         }\r
112                 }\r
113                 \r
114                 protected override void Render(HtmlTextWriter writer)\r
115                 {\r
116                         //TODO: THE LOST WORLD!\r
117                         // I know I have to do it.\r
118                 }\r
119                 \r
120                 public bool LoadPostData(string postDataKey, NameValueCollection postCollection)\r
121                 {\r
122                         //TODO: THE LOST WORLD\r
123                         // Now what the hell is this!\r
124                         return false;\r
125                 }\r
126                 \r
127                 public void RaisePostDataChangedEvent()\r
128                 {\r
129                         //TODO: THE LOST WORLD...\r
130                         // Raise the bucket out of the well :))\r
131                         OnCheckedChanged(EventArgs.Empty);\r
132                 }\r
133         }\r
134 }\r