make another pass at corcompare, mostly attributes on classes/properties/events/etc
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / Panel.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-2005 Novell, Inc.
21 //
22 // Authors:
23 //      Jackson Harper (jackson@ximian.com)
24 //
25
26 // COMPLETE
27
28 using System;
29 using System.ComponentModel;
30 using System.ComponentModel.Design;
31 using System.Drawing;
32 using System.Runtime.InteropServices;
33
34 namespace System.Windows.Forms {
35         [DefaultProperty("BorderStyle")]
36         [DefaultEvent("Paint")]
37         [Designer ("System.Windows.Forms.Design.PanelDesigner, " + Consts.AssemblySystem_Design, "System.ComponentModel.Design.IDesigner")]
38 #if NET_2_0
39         [Docking (DockingBehavior.Ask)]
40         [ClassInterface (ClassInterfaceType.AutoDispatch)]
41         [ComVisible (true)]
42 #endif
43         public class Panel : ScrollableControl {
44                 #region Constructors & Destructors
45                 public Panel () {
46                         base.TabStop = false;
47                         SetStyle(ControlStyles.Selectable, false);
48                         SetStyle (ControlStyles.SupportsTransparentBackColor, true);
49                 }
50                 #endregion      // Constructors & Destructors
51
52                 #region Public Instance Properties
53                 [DefaultValue(BorderStyle.None)]
54                 [DispId(-504)]
55                 public BorderStyle BorderStyle {
56                         get { return InternalBorderStyle; }
57                         set { InternalBorderStyle = value; }
58                 }
59
60                 [DefaultValue(false)]
61                 public new bool TabStop {
62                         get { return base.TabStop; }
63                         set {
64                                 if (value == TabStop)
65                                         return;
66                                 base.TabStop = value;
67                         }
68                 }
69
70                 [Bindable(false)]
71                 [Browsable(false)]
72                 [EditorBrowsable(EditorBrowsableState.Never)]
73                 public override string Text {
74                         get { return base.Text; }
75                         set {
76                                 if (value == Text)
77                                         return;
78                                 base.Text = value;
79                                 Refresh ();
80                         }
81                 }
82                 #endregion      // Public Instance Properties
83
84                 #region Protected Instance Properties
85                 protected override CreateParams CreateParams {
86                         get {
87                                 return base.CreateParams;
88                         }
89                 }
90
91                 protected override Size DefaultSize {
92                         get { return ThemeEngine.Current.PanelDefaultSize; }
93                 }
94                 #endregion      // Proteced Instance Properties
95
96                 #region Public Instance Methods
97                 public override string ToString ()
98                 {
99                         return base.ToString () + ", BorderStyle: " + BorderStyle;
100                 }
101                 #endregion      // Public Instance Methods
102
103                 #region Protected Instance Methods
104                 protected override void OnResize(EventArgs e) {
105                         base.OnResize (e);
106                         Invalidate(true);
107                 }
108
109                 #endregion      // Protected Instance Methods
110
111                 #region Events
112                 [Browsable(false)]
113                 [EditorBrowsable(EditorBrowsableState.Never)]
114                 public new event KeyEventHandler KeyDown {
115                         add { base.KeyDown += value; }
116                         remove { base.KeyDown -= value; }
117                 }
118
119                 [Browsable(false)]
120                 [EditorBrowsable(EditorBrowsableState.Never)]
121                 public new event KeyPressEventHandler KeyPress {
122                         add { base.KeyPress += value; }
123                         remove { base.KeyPress -= value; }
124                 }
125
126                 [Browsable(false)]
127                 [EditorBrowsable(EditorBrowsableState.Never)]
128                 public new event KeyEventHandler KeyUp {
129                         add { base.KeyUp += value; }
130                         remove { base.KeyUp -= value; }
131                 }
132
133                 [Browsable(false)]
134                 [EditorBrowsable(EditorBrowsableState.Never)]
135                 public new event EventHandler TextChanged {
136                         add { base.TextChanged += value; }
137                         remove { base.TextChanged -= value; }
138                 }
139                 #endregion
140         }
141 }
142