2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.Web / System.Web.UI.HtmlControls / HtmlTableRowCollection.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 HtmlTableRowCollection : ICollection {\r
13                 \r
14                 private HtmlTable _owner;\r
15                 \r
16                 internal HtmlTableRowCollection(HtmlTable owner){\r
17                         _owner = owner;\r
18                 }\r
19                 \r
20                 public void Add(HtmlTableRow row){\r
21                         Insert(-1, row);\r
22                 }\r
23                 \r
24                 public void Clear(){\r
25                         if (_owner.HasControls()) _owner.Controls.Clear();\r
26                 }\r
27                 \r
28                 public void CopyTo(Array array, int index){\r
29                         IEnumerator tablerow = this.GetEnumerator();\r
30                         while (tablerow.MoveNext()){\r
31                                 index = index + 1;\r
32                                 array.SetValue(tablerow.Current, index);\r
33                         }\r
34                 }\r
35                 \r
36                 public IEnumerator GetEnumerator(){\r
37                         return _owner.Controls.GetEnumerator();\r
38                 }\r
39                 \r
40                 public void Insert(int index, HtmlTableRow row){\r
41                         _owner.Controls.AddAt(index,row);\r
42                 }\r
43                 \r
44                 public void Remove(HtmlTableRow row){\r
45                         _owner.Controls.Remove(row);\r
46                 }\r
47                 \r
48                 public void RemoveAt(int index){\r
49                         _owner.Controls.RemoveAt(index);\r
50                 }\r
51                 \r
52                 public int Count {\r
53                         get{\r
54                                 if (_owner.HasControls()) return _owner.Controls.Count;\r
55                                 return 0;\r
56                         }\r
57                 }\r
58                 \r
59                 public bool IsReadOnly {\r
60                         get{\r
61                                 return false;\r
62                         }\r
63                 }\r
64                 \r
65                 public bool IsSynchronized {\r
66                         get{\r
67                                 return false;\r
68                         }\r
69                 }\r
70                 \r
71                 public HtmlTableRow this[int index] {\r
72                         get{\r
73                                 return (HtmlTableRow) _owner.Controls[index];\r
74                         }\r
75                 }\r
76                 \r
77                 public object SyncRoot {\r
78                         get{\r
79                                 return this;\r
80                         }\r
81                 }\r
82         }//System.Web.UI.HtmlControls.HtmlTableRowCollection\r
83 }\r