[jit] Enable partial generic sharing when not using AOT as an experiment.
[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 using System.Drawing;
26 using System.ComponentModel;
27
28 namespace System.Windows.Forms {
29
30         public class DataGridViewElement {
31
32                 private DataGridView dataGridView;
33                 private DataGridViewElementStates state;
34
35                 public DataGridViewElement () {
36                         dataGridView = null;
37                 }
38
39                 [Browsable (false)]
40                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
41                 public DataGridView DataGridView {
42                         get { return dataGridView; }
43                 }
44
45                 [Browsable (false)]
46                 [EditorBrowsable (EditorBrowsableState.Advanced)]
47                 public virtual DataGridViewElementStates State {
48                         get { return state; }
49                 }
50
51                 protected virtual void OnDataGridViewChanged ()
52                 {
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 (dataGridView != this.DataGridView) {
93                                 this.dataGridView = dataGridView;
94                                 OnDataGridViewChanged();
95                         }
96                 }
97
98                 internal virtual void SetState (DataGridViewElementStates state) {
99                         this.state = state;
100                 }
101
102         }
103
104 }
105