2004-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / FontNamesConverter.cs
1 /**\r
2  * Namespace: System.Web.UI.WebControls\r
3  * Class:     FontNamesConverter\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  * Implementation: yes\r
9  * Status:  100%\r
10  *\r
11  * (C) Gaurav Vaish (2002)\r
12  */\r
13 \r
14 using System;\r
15 using System.Globalization;\r
16 using System.ComponentModel;\r
17 using System.Web;\r
18 using System.Web.UI;\r
19 \r
20 namespace System.Web.UI.WebControls\r
21 {\r
22         public class FontNamesConverter : TypeConverter\r
23         {\r
24                 public FontNamesConverter(): base()\r
25                 {\r
26                 }\r
27 \r
28                 public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)\r
29                 {\r
30                         return (sourceType == typeof(string));\r
31                 }\r
32 \r
33                 public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)\r
34                 {\r
35                         if(value is string)\r
36                         {\r
37                                 string fontNames = (string)value;\r
38                                 if(fontNames.Length == 0)\r
39                                 {\r
40                                         return (new string[0]);\r
41                                 }\r
42                                 string[] names = fontNames.Split(new char[] { ','});\r
43                                 for(int i=0; i < names.Length; i++)\r
44                                 {\r
45                                         names[i] = names[i].Trim();\r
46                                 }\r
47                                 return names;\r
48                         }\r
49                         throw GetConvertFromException(value);\r
50                 }\r
51 \r
52                 public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)\r
53                 {\r
54                         if(destinationType == typeof(string))\r
55                         {\r
56                                 if(value == null || ((string[])value) == null)\r
57                                         return String.Empty;\r
58                                 return String.Join(",", (string[])value);\r
59                         }\r
60                         throw GetConvertToException(value, destinationType);\r
61                 }\r
62         }\r
63 }\r