error messages review
[mono.git] / mcs / class / System.Design / System.Web.UI.Design.WebControls / PanelDesigner.cs
1
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
10 // 
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
13 // 
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 /**
23  * Namespace:   System.Web.UI.Design.WebControls
24  * Class:       PanelDesigner
25  *
26  * Author:      Gaurav Vaish
27  * Maintainer:  gvaish_mono@lycos.com
28  *
29  * (C) Gaurav Vaish (2002)
30  */
31
32 using System;
33 using System.Web.UI.WebControls;
34 using System.Web.UI.Design;
35
36 namespace System.Web.UI.Design.WebControls
37 {
38         public class PanelDesigner : ReadWriteControlDesigner
39         {
40                 public PanelDesigner()
41                 {
42                 }
43                 
44                 protected override void MapPropertyToStyle(string propName,
45                                                            object varPropValue)
46                 {
47                         if(propName != null)
48                         {
49                                 try
50                                 {
51                                         bool hasBeenSet = false;
52                                         if(propName == "BackImageUrl")
53                                         {
54                                                 string url = varPropValue.ToString();
55                                                 if(url.Length > 0)
56                                                         url = "url(" + url + ")";
57                                                 // FIXME: CSS Specs read "background-image",
58                                                 // while MS implementation puts "backgroundImage".
59                                                 // Is it a MS implementation bug?
60                                                 Behavior.SetStyleAttribute("backgroundImage",
61                                                                             true, url, true);
62                                                 hasBeenSet = true;
63                                         } else if(propName == "HorizonalAlign")
64                                         {
65                                                 HorizontalAlign alignment = (HorizontalAlign)varPropValue;
66                                                 if(alignment != HorizontalAlign.NotSet)
67                                                 {
68                                                         string value = Enum.Format(typeof(HorizontalAlign), 
69                                                                                    varPropValue, "G");
70                                                         Behavior.SetStyleAttribute("textAlign",
71                                                                                     true, value, true);
72                                                         hasBeenSet = true;
73                                                 }
74                                         }
75                                         if(!hasBeenSet)
76                                                 base.MapPropertyToStyle(propName, varPropValue);
77                                                 
78                                 } catch(Exception) { }
79                         }
80                 }
81                 
82                 protected override void OnBehaviorAttached()
83                 {
84                         base.OnBehaviorAttached();
85                         Panel toDesign = (Panel)Component;
86                         MapPropertyToStyle("BackImageUrl", toDesign.BackImageUrl);
87                         MapPropertyToStyle("HorizontalAlign", toDesign.HorizontalAlign);
88                 }
89         }
90 }