2 * Namespace: System.Web.UI.WebControls
\r
3 * Class: TableItemStyle
\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
11 * (C) Gaurav Vaish (2002)
\r
16 using System.Web.UI;
\r
18 namespace System.Web.UI.WebControls
\r
20 public class TableItemStyle: Style
\r
22 private static int H_ALIGN = (0x01 << 16);
\r
23 private static int V_ALIGN = (0x01 << 17);
\r
24 private static int WRAP = (0x01 << 18);
\r
26 public TableItemStyle(): base()
\r
30 public TableItemStyle(StateBag bag): base(bag)
\r
34 public virtual HorizontalAlign HorizontalAlign
\r
39 return (HorizontalAlign)ViewState["HorizontalAlign"];
\r
40 return HorizontalAlign.NotSet;
\r
44 if(!Enum.IsDefined(typeof(HorizontalAlign), value))
\r
46 throw new ArgumentException();
\r
48 ViewState["HorizontalAlign"] = value;
\r
53 public virtual VerticalAlign VerticalAlign
\r
58 return (VerticalAlign)iewState["VerticalAlign"];
\r
59 return VerticalAlign.NotSet;
\r
63 if(!Enum.IsDefined(typeof(VerticalAlign), value))
\r
65 throw new ArgumentException();
\r
67 ViewState["VerticalAlign"] = value;
\r
72 public virtual bool Wrap
\r
77 return (bool)ViewState["Wrap"];
\r
82 ViewState["Wrap"] = value;
\r
86 public override void CopyFrom(Style s)
\r
88 if(s!=null && s is TableItemStyle && !s.IsEmpty)
\r
91 TableItemStyle from = (TableItemStyle)s;
\r
92 if(from.IsSet(H_ALIGN))
\r
94 HorizontalAlign = from.HorizontalAlign;
\r
96 if(from.IsSet(V_ALIGN))
\r
98 VerticalAlign = from.VerticalAlign;
\r
100 if(from.IsSet(WRAP))
\r
107 public override void MergeWith(Style s)
\r
109 if(s!=null && s is TableItemStyle && !s.IsEmpty)
\r
112 TableItemStyle with = (TableItemStyle)s;
\r
113 if(from.IsSet(H_ALIGN) && !IsSet(H_ALIGN))
\r
115 HorizontalAlign = with.HorizontalAlign;
\r
117 if(from.IsSet(V_ALIGN) && !IsSet(V_ALIGN))
\r
119 VerticalAlign = with.VerticalAlign;
\r
121 if(from.IsSet(WRAP) && !IsSet(WRAP))
\r
128 public override void Reset()
\r
131 ViewState.Remove("HorizontalAlign");
\r
133 ViewState.Remove("VerticalAlign");
\r
135 ViewState.Remove("Wrap");
\r
139 public override void AddAttributesToRender(HtmlTextWriter writer, WebControl owner)
\r
141 base.AddAttributesToRender(writer, owner);
\r
144 writer.AddAttribute(HtmlTextWriterAttribute.NoWrap, "nowrap");
\r
146 if(HorizontalAlign != HorizontalAlign.NotSet)
\r
148 writer.AddAttribute(HtmlTextWriterAttribute.Align, TypeDescriptor.GetConverter(typeof(HorizontalAlign)).ConvertToString(HorizontalAlign));
\r
150 if(VerticalAlign != VerticalAlign.NotSet)
\r
152 writer.AddAttribute(HtmlTextWriterAttribute.Valign, TypeDescriptor.GetConverter(typeof(VerticalAlign)).ConvertToString(VerticalAlign));
\r