[jit] Enable partial generic sharing when not using AOT as an experiment.
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / DataGridViewCheckBoxColumn.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 using System.Drawing;
28 using System.ComponentModel;
29
30 namespace System.Windows.Forms {
31
32         [ToolboxBitmap ("")]
33         public class DataGridViewCheckBoxColumn : DataGridViewColumn {
34
35                 public DataGridViewCheckBoxColumn (bool threeState) {
36                         CellTemplate = new DataGridViewCheckBoxCell (threeState);
37                 }
38
39                 public DataGridViewCheckBoxColumn () : this (false) {
40                 }
41
42                 [Browsable (false)]
43                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
44                 public override DataGridViewCell CellTemplate {
45                         get { return base.CellTemplate; }
46                         set { base.CellTemplate = value as DataGridViewCheckBoxCell; }
47                 }
48
49                 [Browsable (true)]
50                 public override DataGridViewCellStyle DefaultCellStyle {
51                         get { return base.DefaultCellStyle; }
52                         set { base.DefaultCellStyle = value; }
53                 }
54
55                 [DefaultValue (null)]
56                 [TypeConverter (typeof (StringConverter))]
57                 public object FalseValue {
58                         get {
59                                 if (base.CellTemplate == null) {
60                                         throw new InvalidOperationException("CellTemplate is null.");
61                                 }
62                                 return (base.CellTemplate as DataGridViewCheckBoxCell).FalseValue;
63                         }
64                         set {
65                                 if (base.CellTemplate == null) {
66                                         throw new InvalidOperationException("CellTemplate is null.");
67                                 }
68                                 (base.CellTemplate as DataGridViewCheckBoxCell).FalseValue = value;
69                         }
70                 }
71
72                 [DefaultValue (FlatStyle.Standard)]
73                 public FlatStyle FlatStyle {
74                         get {
75                                 if (base.CellTemplate == null) {
76                                         throw new InvalidOperationException("CellTemplate is null.");
77                                 }
78                                 return (base.CellTemplate as DataGridViewCheckBoxCell).FlatStyle;
79                         }
80                         set {
81                                 if (base.CellTemplate == null) {
82                                         throw new InvalidOperationException("CellTemplate is null.");
83                                 }
84                                 (base.CellTemplate as DataGridViewCheckBoxCell).FlatStyle = value;
85                         }
86                 }
87
88                 [DefaultValue (null)]
89                 [TypeConverter (typeof (StringConverter))]
90                 public object IndeterminateValue {
91                         get {
92                                 if (base.CellTemplate == null) {
93                                         throw new InvalidOperationException("CellTemplate is null.");
94                                 }
95                                 return (base.CellTemplate as DataGridViewCheckBoxCell).IndeterminateValue;
96                         }
97                         set {
98                                 if (base.CellTemplate == null) {
99                                         throw new InvalidOperationException("CellTemplate is null.");
100                                 }
101                                 (base.CellTemplate as DataGridViewCheckBoxCell).IndeterminateValue = value;
102                         }
103                 }
104
105                 [DefaultValue (false)]
106                 public bool ThreeState {
107                         get {
108                                 if (base.CellTemplate == null) {
109                                         throw new InvalidOperationException("CellTemplate is null.");
110                                 }
111                                 return (base.CellTemplate as DataGridViewCheckBoxCell).ThreeState;
112                         }
113                         set {
114                                 if (base.CellTemplate == null) {
115                                         throw new InvalidOperationException("CellTemplate is null.");
116                                 }
117                                 (base.CellTemplate as DataGridViewCheckBoxCell).ThreeState = value;
118                         }
119                 }
120
121                 [DefaultValue (null)]
122                 [TypeConverter (typeof (StringConverter))]
123                 public object TrueValue {
124                         get {
125                                 if (base.CellTemplate == null) {
126                                         throw new InvalidOperationException("CellTemplate is null.");
127                                 }
128                                 return (base.CellTemplate as DataGridViewCheckBoxCell).TrueValue;
129                         }
130                         set {
131                                 if (base.CellTemplate == null) {
132                                         throw new InvalidOperationException("CellTemplate is null.");
133                                 }
134                                 (base.CellTemplate as DataGridViewCheckBoxCell).TrueValue = value;
135                         }
136                 }
137
138                 public override string ToString ()
139                 {
140                         return string.Format ("DataGridViewCheckBoxColumn {{ Name={0}, Index={1} }}", Name, Index);
141                 }
142
143         }
144
145 }
146