- Initial check-in
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / BindingContext.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) 2004 Novell, Inc.
21 //
22 // Authors:
23 //      Peter Bartok    pbartok@novell.com
24 //
25 //
26 // $Revision: 1.1 $
27 // $Modtime: $
28 // $Log: BindingContext.cs,v $
29 // Revision 1.1  2004/07/09 05:21:25  pbartok
30 // - Initial check-in
31 //
32 //
33
34 // NOT COMPLETE
35
36 using System.Collections;
37 using System.ComponentModel;
38
39 namespace System.Windows.Forms {
40         public class BindingContext : ICollection, IEnumerable {
41                 #region Public Constructors
42                 public BindingContext() {
43                 }
44                 #endregion      // Public Constructors
45
46                 #region Public Instance Properties
47                 [MonoTODO]
48                 public bool IsReadOnly {
49                         get {
50                                 throw new NotImplementedException();
51                         }
52                 }
53
54                 public BindingManagerBase this[object dataSource] {
55                         get {
56                                 return this[dataSource, String.Empty];
57                         }
58                 }
59
60                 [MonoTODO]
61                 public BindingManagerBase this[object dataSource, string dataMember] {
62                         get {
63                                 throw new NotImplementedException();
64                         }
65                 }
66
67                 
68                 #endregion      // Public Instance Properties
69
70                 #region Public Instance Methods
71                 public bool Contains(object dataSource) {
72                         return Contains(dataSource, String.Empty);
73                 }
74
75                 [MonoTODO]
76                 public bool Contains(object dataSource, string dataMember) {
77                         throw new NotImplementedException();
78                 }
79                 #endregion      // Public Instance Methods
80
81                 #region Protected Instance Methods
82                 protected internal void Add(object dataSource, BindingManagerBase listManager) {
83                         AddCore(dataSource, listManager);
84                 }
85
86                 [MonoTODO]
87                 protected virtual void AddCore(object dataSource, BindingManagerBase listManager) {
88                         throw new NotImplementedException();
89                 }
90
91                 protected internal void Clear() {
92                         ClearCore();
93                 }
94
95                 [MonoTODO]
96                 protected virtual void ClearCore() {
97                         throw new NotImplementedException();
98                 }
99
100                 protected virtual void OnCollectionChanged(System.ComponentModel.CollectionChangeEventArgs ccevent) {
101                         if (CollectionChanged!=null) CollectionChanged(this, ccevent);
102                 }
103
104                 protected internal void Remove(object dataSource) {
105                         RemoveCore(dataSource);
106                 }
107
108                 [MonoTODO]
109                 protected virtual void RemoveCore(object dataSource) {
110                         throw new NotImplementedException();
111                 }
112                 #endregion      // Protected Instance Methods
113
114                 #region Events
115                 public event CollectionChangeEventHandler CollectionChanged;
116                 #endregion      // Events
117
118                 #region ICollection Interfaces
119                 [MonoTODO]
120                 void ICollection.CopyTo(Array array, int index) {
121                         throw new NotImplementedException();
122                 }
123
124                 [MonoTODO]
125                 int ICollection.Count {
126                         get {
127                                 throw new NotImplementedException();
128                         }
129                 }
130
131                 bool ICollection.IsSynchronized {
132                         get {
133                                 return false;
134                         }
135                 }
136
137                 object ICollection.SyncRoot {
138                         get {
139                                 return this;
140                         }
141                 }
142
143                 #endregion      // ICollection Interfaces
144
145                 #region IEnumerable Interfaces
146                 [MonoTODO]
147                 IEnumerator IEnumerable.GetEnumerator() {
148                         throw new NotImplementedException();
149                 }
150                 #endregion      // IEnumerable Interfaces
151         }
152 }