copying the latest Sys.Web.Services from trunk.
[mono.git] / mcs / class / System.Web / System.Web.UI.HtmlControls / HtmlTableCellCollection.cs
1 /*      System.Web.UI.HtmlControls\r
2 *       Authors\r
3 *               Leen Toelen (toelen@hotmail.com)\r
4 */\r
5 \r
6 using System;\r
7 using System.Web;\r
8 using System.Web.UI;\r
9 using System.Collections;\r
10 \r
11 namespace System.Web.UI.HtmlControls{\r
12         public sealed class HtmlTableCellCollection : ICollection {\r
13                 private HtmlTableRow _owner;\r
14                 \r
15                 internal HtmlTableCellCollection(HtmlTableRow owner){\r
16                         _owner = owner;\r
17                 }\r
18                 \r
19                 public void Add(HtmlTableCell cell){\r
20                         Insert(-1, cell);\r
21                 }\r
22                 \r
23                 public void Clear(){\r
24                         if (_owner.HasControls()) _owner.Controls.Clear();\r
25                 }\r
26                 \r
27                 public void CopyTo(Array array, int index){\r
28                         IEnumerator tablecell = this.GetEnumerator();\r
29                         while(tablecell.MoveNext()){\r
30                                 index = index + 1;\r
31                                 array.SetValue(tablecell.Current, index);\r
32                         }\r
33                 }\r
34                 \r
35                 public IEnumerator GetEnumerator(){\r
36                         return _owner.Controls.GetEnumerator();\r
37                 }\r
38                 \r
39                 public void Insert(int index, HtmlTableCell cell){\r
40                         _owner.Controls.AddAt(index,cell);\r
41                 }\r
42                 \r
43                 public void Remove(HtmlTableCell cell){\r
44                         _owner.Controls.Remove(cell);\r
45                 }\r
46                 \r
47                 public void RemoveAt(int index){\r
48                         _owner.Controls.RemoveAt(index);\r
49                 }\r
50                 \r
51                 public int Count {\r
52                         get{\r
53                                 if (_owner.HasControls()) return _owner.Controls.Count;\r
54                                 return 0;\r
55                         }\r
56                 }\r
57                 \r
58                 public bool IsReadOnly {\r
59                         get{\r
60                                 return false;\r
61                         }\r
62                 }\r
63                 \r
64                 public bool IsSynchronized {\r
65                         get{\r
66                                 return false;\r
67                         }\r
68                 }\r
69                 \r
70                 public HtmlTableCell this[int index] {\r
71                         get{\r
72                                 return _owner.Controls[index] as HtmlTableCell;\r
73                         }\r
74                 }\r
75                 \r
76                 public object SyncRoot {\r
77                         get{\r
78                                 return null;\r
79                         }\r
80                 }\r
81                 \r
82         } // end of System.Web.UI.HtmlControls.HtmlTableCellCollection\r
83         \r
84 }\r