2 * Namespace: System.Web.UI.WebControls
\r
3 * Class: FontUnitConverter
\r
5 * Author: Gaurav Vaish, Gonzalo Paniagua Javier
\r
6 * Maintainer: gvaish@iitk.ac.in
\r
7 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>, <gonzalo@ximian.com>
\r
8 * Implementation: yes
\r
11 * (C) Gaurav Vaish (2002)
\r
12 * (c) 2002 Ximian, Inc. (http://www.ximian.com)
\r
16 using System.Globalization;
\r
17 using System.ComponentModel;
\r
19 using System.Web.UI;
\r
21 namespace System.Web.UI.WebControls
\r
23 public class FontUnitConverter : TypeConverter
\r
25 static StandardValuesCollection valuesCollection;
\r
26 static string creatingValues = "creating value collection";
\r
28 public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
\r
30 if(sourceType == typeof(string))
\r
32 return base.CanConvertFrom(context, sourceType);
\r
35 public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
\r
41 string val = ((string)value).Trim();
\r
44 return FontUnit.Empty;
\r
46 return FontUnit.Parse(val, culture);
\r
48 return base.ConvertFrom(context, culture, value);
\r
51 public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
\r
53 if(value != null && value is FontUnit)
\r
55 FontUnit val = (FontUnit)value;
\r
56 if(val.Type == FontSize.NotSet)
\r
58 return String.Empty;
\r
60 return val.ToString(culture);
\r
62 return base.ConvertTo(context, culture, value, destinationType);
\r
65 public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
\r
67 if (valuesCollection != null)
\r
68 return valuesCollection;
\r
70 lock (creatingValues) {
\r
71 if (valuesCollection != null)
\r
72 return valuesCollection;
\r
74 Array values = Enum.GetValues (typeof (FontUnit));
\r
75 Array.Sort (values);
\r
76 valuesCollection = new StandardValuesCollection (values);
\r
79 return valuesCollection;
\r
82 public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
\r
87 public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
\r