New test.
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / DataGridViewColumnHeaderCell.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;
30 using System.Drawing;
31
32 namespace System.Windows.Forms {
33
34         public class DataGridViewColumnHeaderCell : DataGridViewHeaderCell {
35
36                 private SortOrder sortGlyphDirection = SortOrder.None;
37
38                 public DataGridViewColumnHeaderCell () {
39                 }
40
41                 public SortOrder SortGlyphDirection {
42                         get { return sortGlyphDirection; }
43                         set { sortGlyphDirection = value; }
44                 }
45
46                 public override object Clone () {
47                         return MemberwiseClone();
48                 }
49
50                 /*
51                 public override ContextMenuStrip GetInheritedContextMenuStrip (int rowIndex) {
52                         if (rowIndex != -1) {
53                                 throw new ArgumentOutOfRangeException("RowIndex is not -1");
54                         }
55                         if (base.ContextMenuStrip != null) {
56                                 return base.ContextMenuStrip;
57                         }
58                         return base.GetInheritedContextMenuStrip(rowIndex); //////////////////////////////
59                 }
60                 */
61
62                 public override DataGridViewCellStyle GetInheritedStyle (DataGridViewCellStyle inheritedCellStyle, int rowIndex, bool includeColors) {
63                         throw new NotImplementedException();
64                 }
65
66                 public override string ToString () {
67                         return GetType().Name;
68                 }
69
70                 protected override AccessibleObject CreateAccessibilityInstance () {
71                         return new DataGridViewColumnHeaderCellAccessibleObject(this);
72                 }
73
74                 protected override object GetClipboardContent (int rowIndex, bool firstCell, bool lastCell, bool inFirstRow, bool inLastRow, string format) {
75                         throw new NotImplementedException();
76                         //////////////////////////////////////////
77                 }
78
79                 protected override Rectangle GetContentBounds (Graphics graphics, DataGridViewCellStyle cellStyle, int rowIndex) {
80                         return new Rectangle();
81                 }
82
83                 protected override Size GetPreferredSize (Graphics graphics, DataGridViewCellStyle cellStyle, int rowIndex, Size constraintSize) {
84                         throw new NotImplementedException();
85                 }
86
87                 protected override object GetValue (int rowIndex) {
88                         throw new NotImplementedException();
89                 }
90
91                 protected override void Paint (Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates dataGridViewElementState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts) {
92                         graphics.FillRectangle(new SolidBrush(cellStyle.BackColor), cellBounds);
93                         graphics.DrawString((string) formattedValue, cellStyle.Font, new SolidBrush(cellStyle.ForeColor), cellBounds, StringFormat.GenericDefault);
94                         PaintBorder(graphics, clipBounds, cellBounds, cellStyle, advancedBorderStyle);
95                 }
96
97                 protected override bool SetValue (int rowIndex, object value) {
98                         throw new NotImplementedException();
99                 }
100
101                 protected class DataGridViewColumnHeaderCellAccessibleObject : DataGridViewCellAccessibleObject {
102
103                         public DataGridViewColumnHeaderCellAccessibleObject (DataGridViewColumnHeaderCell owner) : base (owner) {
104                         }
105
106                         public override Rectangle Bounds {
107                                 get { return base.Bounds; }
108                         }
109
110                         public override string DefaultAction {
111                                 get { return base.DefaultAction; }
112                         }
113
114                         public override string Name {
115                                 get { return base.Name; }
116                         }
117
118                         public override AccessibleObject Parent {
119                                 get { return base.Parent; }
120                         }
121
122                         public override AccessibleRole Role {
123                                 get { return base.Role; }
124                         }
125
126                         public override string Value {
127                                 get { return base.Value; }
128                         }
129
130                         public override void DoDefaultAction () {
131                                 base.DoDefaultAction();
132                         }
133
134                         public override AccessibleObject Navigate (AccessibleNavigation navigationDirection) {
135                                 return base.Navigate(navigationDirection);
136                         }
137
138                 }
139
140         }
141
142 }
143
144 #endif