(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / System.Web / System.Web.UI.WebControls / TableCellCollection.cs
blob7ebe7dd5b864af94eef3214f6d7cabc9fe860b8c
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
10 //
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
13 //
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 /**
23 * Namespace: System.Web.UI.WebControls
24 * Class: TableCellCollection
26 * Author: Gaurav Vaish
27 * Maintainer: gvaish@iitk.ac.in
28 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
29 * Implementation: yes
30 * Status: 100%
32 * (C) Gaurav Vaish (2002)
35 using System;
36 using System.Collections;
37 using System.Web;
38 using System.Web.UI;
39 using System.ComponentModel;
41 namespace System.Web.UI.WebControls
43 [Editor ("System.Web.UI.Design.WebControls.TableCellsCollectionEditor, " + Consts.AssemblySystem_Design, typeof (System.Drawing.Design.UITypeEditor))]
44 public sealed class TableCellCollection: IList, ICollection, IEnumerable
46 private TableRow owner;
48 internal TableCellCollection(TableRow owner)
50 if(owner == null)
52 throw new ArgumentNullException();
54 this.owner = owner;
57 public int Count
59 get
61 return owner.Controls.Count;
65 public bool IsReadOnly
67 get
69 return false;
73 public bool IsSynchronized
75 get
77 return false;
81 public TableCell this[int index]
83 get
85 return (TableCell)owner.Controls[index];
89 public object SyncRoot
91 get
93 return this;
97 public int Add(TableCell cell)
99 AddAt(-1, cell);
100 return owner.Controls.Count - 1;
103 public void AddAt(int index, TableCell cell)
105 owner.Controls.AddAt(index, cell);
108 public void AddRange(TableCell[] cells)
110 foreach(TableCell cell in cells)
112 Add(cell);
116 public void Clear()
118 if(owner.HasControls())
120 owner.Controls.Clear();
124 public void CopyTo(Array array, int index)
126 foreach(object cell in this)
128 array.SetValue(cell, index++);
132 public int GetCellIndex(TableCell cell)
134 if(!owner.HasControls())
136 return -1;
138 return owner.Controls.IndexOf(cell);
141 public IEnumerator GetEnumerator()
143 return owner.Controls.GetEnumerator();
146 public void Remove(TableCell cell)
148 owner.Controls.Remove(cell);
151 public void RemoveAt(int index)
153 owner.Controls.RemoveAt(index);
156 int IList.Add(object o)
158 return Add((TableCell)o);
161 bool IList.Contains(object o)
163 return owner.Controls.Contains((TableCell)o);
166 int IList.IndexOf(object o)
168 return owner.Controls.IndexOf((TableCell)o);
171 void IList.Insert(int index, object o)
173 owner.Controls.AddAt(index, (TableCell)o);
176 void IList.Remove(object o)
178 owner.Controls.Remove((TableCell)o);
181 bool IList.IsFixedSize
185 return false;
189 object IList.this[int index]
193 return this[index];
197 RemoveAt(index);
198 AddAt(index, (TableCell)value);