2004-05-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / Image.cs
1 //
2 // System.Web.UI.WebControls.Image.cs
3 //
4 // Authors:
5 //   Gaurav Vaish (gvaish@iitk.ac.in)
6 //   Andreas Nahr (ClassDevelopment@A-SoftTech.com)
7 //
8 // (C) Gaurav Vaish (2002)
9 // (C) 2003 Andreas Nahr
10 //\r
11 \r
12 using System;\r
13 using System.Web;\r
14 using System.Web.UI;\r
15 using System.ComponentModel;\r
16 \r
17 namespace System.Web.UI.WebControls\r
18 {\r
19         [DefaultProperty("ImageUrl")]\r
20         public class Image : WebControl\r
21         {\r
22                 public Image(): base(HtmlTextWriterTag.Img)\r
23                 {\r
24                 }\r
25
26                 [DefaultValue (""), Bindable (true), WebCategory ("Appearance")]
27                 [WebSysDescription ("An alternative text that is shown if the image cannot be displayed.")]\r
28                 public virtual string AlternateText\r
29                 {\r
30                         get\r
31                         {\r
32                                 object o = ViewState["AlternateText"];\r
33                                 if(o!=null)\r
34                                         return (string)o;\r
35                                 return String.Empty;\r
36                         }\r
37                         set\r
38                         {\r
39                                 ViewState["AlternateText"] = value;\r
40                         }\r
41                 }\r
42
43                 [Browsable (false), EditorBrowsable (EditorBrowsableState.Never)]\r
44                 public override bool Enabled\r
45                 {\r
46                         get\r
47                         {\r
48                                 return base.Enabled;\r
49                         }\r
50                         set\r
51                         {\r
52                                 base.Enabled = value;\r
53                         }\r
54                 }\r
55
56                 [Browsable (false), EditorBrowsable (EditorBrowsableState.Never)]
57                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
58                 public override FontInfo Font\r
59                 {\r
60                         get\r
61                         {\r
62                                 return base.Font;\r
63                         }\r
64                 }\r
65
66                 [DefaultValue (typeof (ImageAlign), "NotSet"), Bindable (true), WebCategory ("Layout")]
67                 [WebSysDescription ("The alignment of the image.")]\r
68                 public virtual ImageAlign ImageAlign\r
69                 {\r
70                         get\r
71                         {\r
72                                 object o = ViewState["ImageAlign"];\r
73                                 if(o!=null)\r
74                                         return (ImageAlign)o;\r
75                                 return ImageAlign.NotSet;\r
76                         }\r
77                         set\r
78                         {\r
79                                 ViewState["ImageAlign"] = value;\r
80                         }\r
81                 }\r
82
83                 [DefaultValue (""), Bindable (true), WebCategory ("Appearance")]
84                 [Editor ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, typeof (System.Drawing.Design.UITypeEditor))]
85                 [WebSysDescription ("The URL to the image file.")]\r
86                 public virtual string ImageUrl\r
87                 {\r
88                         get\r
89                         {\r
90                                 object o = ViewState["ImageUrl"];\r
91                                 if(o!=null)\r
92                                         return (string)o;\r
93                                 return String.Empty;\r
94                         }\r
95                         set\r
96                         {\r
97                                 ViewState["ImageUrl"] = value;\r
98                         }\r
99                 }\r
100 \r
101                 protected override void AddAttributesToRender(HtmlTextWriter writer)\r
102                 {\r
103                         base.AddAttributesToRender(writer);\r
104                         if(ImageUrl.Length > 0)\r
105                         {\r
106                                 writer.AddAttribute(HtmlTextWriterAttribute.Src, ResolveUrl(ImageUrl));\r
107                         }\r
108                         if(AlternateText.Length > 0)\r
109                         {\r
110                                 writer.AddAttribute(HtmlTextWriterAttribute.Alt, AlternateText);\r
111                         }\r
112                         if(BorderWidth.IsEmpty)\r
113                         {\r
114                                 writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");\r
115                         }\r
116                         if(ImageAlign != ImageAlign.NotSet)\r
117                         {\r
118                                 writer.AddAttribute(HtmlTextWriterAttribute.Align, Enum.Format(typeof(ImageAlign), ImageAlign, "G"));\r
119                         }\r
120                 }\r
121 \r
122                 protected override void RenderContents(HtmlTextWriter writer)\r
123                 {\r
124                 }\r
125         }\r
126 }\r