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
15 using System.ComponentModel;
\r
17 using System.Web.UI;
\r
19 namespace System.Web.UI.WebControls
\r
21 public class TableItemStyle: Style
\r
23 private static int H_ALIGN = (0x01 << 16);
\r
24 private static int V_ALIGN = (0x01 << 17);
\r
25 private static int WRAP = (0x01 << 18);
\r
27 public TableItemStyle(): base()
\r
31 public TableItemStyle(StateBag bag): base(bag)
\r
35 public virtual HorizontalAlign HorizontalAlign
\r
40 return (HorizontalAlign)ViewState["HorizontalAlign"];
\r
41 return HorizontalAlign.NotSet;
\r
45 if(!Enum.IsDefined(typeof(HorizontalAlign), value))
\r
47 throw new ArgumentException();
\r
49 ViewState["HorizontalAlign"] = value;
\r
54 public virtual VerticalAlign VerticalAlign
\r
59 return (VerticalAlign)ViewState["VerticalAlign"];
\r
60 return VerticalAlign.NotSet;
\r
64 if(!Enum.IsDefined(typeof(VerticalAlign), value))
\r
66 throw new ArgumentException();
\r
68 ViewState["VerticalAlign"] = value;
\r
73 public virtual bool Wrap
\r
78 return (bool)ViewState["Wrap"];
\r
83 ViewState["Wrap"] = value;
\r
87 public override void CopyFrom(Style s)
\r
89 if(s!=null && s is TableItemStyle && !s.IsEmpty)
\r
92 TableItemStyle from = (TableItemStyle)s;
\r
93 if(from.IsSet(H_ALIGN))
\r
95 HorizontalAlign = from.HorizontalAlign;
\r
97 if(from.IsSet(V_ALIGN))
\r
99 VerticalAlign = from.VerticalAlign;
\r
101 if(from.IsSet(WRAP))
\r
108 public override void MergeWith(Style s)
\r
110 if(s!=null && s is TableItemStyle && !s.IsEmpty)
\r
113 TableItemStyle with = (TableItemStyle)s;
\r
114 if(with.IsSet(H_ALIGN) && !IsSet(H_ALIGN))
\r
116 HorizontalAlign = with.HorizontalAlign;
\r
118 if(with.IsSet(V_ALIGN) && !IsSet(V_ALIGN))
\r
120 VerticalAlign = with.VerticalAlign;
\r
122 if(with.IsSet(WRAP) && !IsSet(WRAP))
\r
129 public override void Reset()
\r
132 ViewState.Remove("HorizontalAlign");
\r
134 ViewState.Remove("VerticalAlign");
\r
136 ViewState.Remove("Wrap");
\r
140 public override void AddAttributesToRender(HtmlTextWriter writer, WebControl owner)
\r
142 base.AddAttributesToRender(writer, owner);
\r
145 writer.AddAttribute(HtmlTextWriterAttribute.Nowrap, "nowrap");
\r
147 if(HorizontalAlign != HorizontalAlign.NotSet)
\r
149 writer.AddAttribute(HtmlTextWriterAttribute.Align, TypeDescriptor.GetConverter(typeof(HorizontalAlign)).ConvertToString(HorizontalAlign));
\r
151 if(VerticalAlign != VerticalAlign.NotSet)
\r
153 writer.AddAttribute(HtmlTextWriterAttribute.Valign, TypeDescriptor.GetConverter(typeof(VerticalAlign)).ConvertToString(VerticalAlign));
\r