In .:
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / DataGridViewElement.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
27 #if NET_2_0
28
29 using System.Drawing;
30
31 namespace System.Windows.Forms {
32
33         public class DataGridViewElement {
34
35                 private DataGridView dataGridView;
36                 private DataGridViewElementStates state;
37
38                 public DataGridViewElement () {
39                         dataGridView = null;
40                         state = DataGridViewElementStates.None;
41                 }
42
43                 public DataGridView DataGridView {
44                         get { return dataGridView; }
45                 }
46
47                 public virtual DataGridViewElementStates State {
48                         get { return state; }
49                 }
50
51                 protected virtual void OnDataGridViewChanged () {
52                         throw new NotImplementedException();
53                 }
54
55                 protected void RaiseCellClick (DataGridViewCellEventArgs e) {
56                         if (dataGridView != null) {
57                                 dataGridView.InternalOnCellClick(e);
58                         }
59                 }
60
61                 protected void RaiseCellContentClick (DataGridViewCellEventArgs e) {
62                         if (dataGridView != null) {
63                                 dataGridView.InternalOnCellContentClick(e);
64                         }
65                 }
66
67                 protected void RaiseCellContentDoubleClick (DataGridViewCellEventArgs e) {
68                         if (dataGridView != null) {
69                                 dataGridView.InternalOnCellContentDoubleClick(e);
70                         }
71                 }
72
73                 protected void RaiseCellValueChanged (DataGridViewCellEventArgs e) {
74                         if (dataGridView != null) {
75                                 dataGridView.InternalOnCellValueChanged(e);
76                         }
77                 }
78
79                 protected void RaiseDataError (DataGridViewDataErrorEventArgs e) {
80                         if (dataGridView != null) {
81                                 dataGridView.InternalOnDataError(e);
82                         }
83                 }
84
85                 protected void RaiseMouseWheel (MouseEventArgs e) {
86                         if (dataGridView != null) {
87                                 dataGridView.InternalOnMouseWheel(e);
88                         }
89                 }
90
91                 internal virtual void SetDataGridView (DataGridView dataGridView) {
92                         if (this.DataGridView == null && dataGridView != null) {
93                                 this.dataGridView = dataGridView;
94                                 return;
95                         }
96                         if (dataGridView != this.DataGridView) {
97                                 this.dataGridView = dataGridView;
98                                 OnDataGridViewChanged();
99                         }
100                 }
101
102                 internal virtual void SetState (DataGridViewElementStates state) {
103                         this.state = state;
104                 }
105
106         }
107
108 }
109
110 #endif