* TabControl.cs: Show the tooltip depending on the value
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / DataGridViewSelectedCellCollection.cs
1 // Permission is hereby granted, free of charge, to any person obtaining
2 // a copy of this software and associated documentation files (the
3 // "Software"), to deal in the Software without restriction, including
4 // without limitation the rights to use, copy, modify, merge, publish,
5 // distribute, sublicense, and/or sell copies of the Software, and to
6 // permit persons to whom the Software is furnished to do so, subject to
7 // the following conditions:
8 // 
9 // The above copyright notice and this permission notice shall be
10 // included in all copies or substantial portions of the Software.
11 // 
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
13 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
16 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
17 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
18 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19 //
20 // Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
21 //
22 // Author:
23 //      Pedro Martínez Juliá <pedromj@gmail.com>
24 //
25
26 #if NET_2_0
27
28 using System;
29 using System.Collections;
30 using System.ComponentModel;
31
32 namespace System.Windows.Forms
33 {
34         [ListBindable (false)]
35         public class DataGridViewSelectedCellCollection : BaseCollection, IList, ICollection, IEnumerable
36         {
37                 internal DataGridViewSelectedCellCollection ()
38                 {
39                 }
40
41                 bool IList.IsFixedSize {
42                         get { return base.List.IsFixedSize; }
43                 }
44
45                 object IList.this [int index] {
46                         get { return this [index]; }
47                         set { throw new NotSupportedException(); }
48                 }
49
50                 public DataGridViewCell this [int index] {
51                         get { return (DataGridViewCell) base.List [index]; }
52                 }
53
54                 protected override ArrayList List {
55                         get { return base.List; }
56                 }
57
58                 int IList.Add (object value)
59                 {
60                         throw new NotSupportedException ();
61                 }
62                 
63                 void IList.Clear ()
64                 {
65                         Clear ();
66                 }
67
68                 [EditorBrowsable (EditorBrowsableState.Never)]
69                 public void Clear ()
70                 {
71                         throw new NotSupportedException ("Cannot clear this base.List");
72                 }
73
74                 bool IList.Contains (object value)
75                 {
76                         return Contains (value as DataGridViewCell);
77                 }
78
79                 public bool Contains (DataGridViewCell dataGridViewCell)
80                 {
81                         return base.List.Contains (dataGridViewCell);
82                 }
83
84                 public void CopyTo (DataGridViewCell [] array, int index)
85                 {
86                         base.List.CopyTo (array, index);
87                         /*
88                         if (array == null) {
89                                 throw new ArgumentNullException("array is null");
90                         }
91                         if (index < 0) {
92                                 throw new IndexOutOfRangeException("index is out of range");
93                         }
94                         if (index >= arrayl.Length) {
95                                 throw new ArgumentException("index is equal or greater than the length of the array");
96                         }
97                         if ((array.Length - index) < base.List.Count) {
98                                 throw new ArgumentException("not enought space for the elements from index to the end");
99                         }
100                         */
101                 }
102
103                 int IList.IndexOf (object value)
104                 {
105                         return base.List.IndexOf (value as DataGridViewCell);
106                 }
107
108                 void IList.Insert (int index, object value)
109                 {
110                         Insert (index, value as DataGridViewCell);
111                 }
112
113                 [EditorBrowsable (EditorBrowsableState.Never)]
114                 public void Insert (int index, DataGridViewCell dataGridViewCell)
115                 {
116                         throw new NotSupportedException ("Can't insert to selected cell base.List");
117                 }
118
119                 void IList.Remove (object value)
120                 {
121                         throw new NotSupportedException ("Can't remove elements of selected cell base.List.");
122                 }
123
124                 void IList.RemoveAt (int index)
125                 {
126                         throw new NotSupportedException ("Can't remove elements of selected cell base.List.");
127                 }
128
129                 internal void InternalAdd (DataGridViewCell dataGridViewCell)
130                 {
131                         base.List.Add (dataGridViewCell);
132                 }
133
134                 internal void InternalRemove (DataGridViewCell dataGridViewCell)
135                 {
136                         base.List.Remove (dataGridViewCell);
137                 }
138         }
139 }
140
141 #endif