2002-02-21 Gaurav Vaish <gvaish@iitk.ac.in>
[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.ComponentModel;\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 FontNamesConverter : TypeConverter\r
22         {\r
23                 public FontNamesConverter(): base()\r
24                 {\r
25                 }\r
26                 \r
27                  public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)\r
28                  {\r
29                         return (sourceType == typeof(string));\r
30                  }\r
31                  \r
32                  public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)\r
33                  {\r
34                         if(value is string)\r
35                         {\r
36                                 string fontNames = (string)value;\r
37                                 if(fontNames.Length == 0)\r
38                                 {\r
39                                         return (new string[0]);\r
40                                 }\r
41                                 string[] names = fontNames.Split(new char[] { ','});\r
42                                 foreach(string current in names)\r
43                                 {\r
44                                         current = current.Trim();\r
45                                 }\r
46                                 return names;\r
47                         }\r
48                         throw GetConvertFromException(value);\r
49                  }\r
50                  \r
51                  public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)\r
52                  {\r
53                         if(destinationType is typeof(string))\r
54                         {\r
55                                 if(value == null || ((string[])value) == null)\r
56                                         return String.Empty;\r
57                                 return String.Join(",", (string[])value);\r
58                         }\r
59                         throw GetConvertToException(value, destinationType);\r
60                  }\r
61         }\r
62 }\r