New test.
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / SplitterPanel.cs
1 //\r
2 // SplitterPanel.cs\r
3 //\r
4 // Permission is hereby granted, free of charge, to any person obtaining\r
5 // a copy of this software and associated documentation files (the\r
6 // "Software"), to deal in the Software without restriction, including\r
7 // without limitation the rights to use, copy, modify, merge, publish,\r
8 // distribute, sublicense, and/or sell copies of the Software, and to\r
9 // permit persons to whom the Software is furnished to do so, subject to\r
10 // the following conditions:\r
11 // \r
12 // The above copyright notice and this permission notice shall be\r
13 // included in all copies or substantial portions of the Software.\r
14 // \r
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
22 //\r
23 // Copyright (c) 2006 Jonathan Pobst\r
24 //\r
25 // Authors:\r
26 //      Jonathan Pobst (monkey@jpobst.com)\r
27 //\r
28 \r
29 #if NET_2_0\r
30 using System;\r
31 using System.Runtime.InteropServices;\r
32 using System.ComponentModel;\r
33 using System.Drawing;\r
34 using System.Drawing.Drawing2D;\r
35 \r
36 namespace System.Windows.Forms\r
37 {\r
38         [ComVisibleAttribute (true)]\r
39         [ClassInterfaceAttribute (ClassInterfaceType.AutoDispatch)]\r
40         public sealed class SplitterPanel : Panel\r
41         {\r
42                 private SplitContainer owner;\r
43 \r
44                 public SplitterPanel (SplitContainer owner)\r
45                 {\r
46                         this.owner = owner;\r
47                 }\r
48 \r
49                 #region Public Properties\r
50                 // All of these are overriden just to hide them from the IDE  :/\r
51                 [Browsable (false)]\r
52                 [EditorBrowsable (EditorBrowsableState.Never)]\r
53                 new public AnchorStyles Anchor {\r
54                         get { return base.Anchor; }\r
55                         set { base.Anchor = value; }\r
56                 }\r
57 \r
58                 [Browsable (false)]\r
59                 [EditorBrowsable (EditorBrowsableState.Never)]\r
60                 new public bool AutoSize {\r
61                         get { return base.AutoSize; }\r
62                         set { base.AutoSize = value; }\r
63                 }\r
64 \r
65                 //Uncomment once this has been implemented in ContainerControl.cs\r
66                 //[Browsable (false)]\r
67                 //[EditorBrowsable (EditorBrowsableState.Never)]\r
68                 //[Localizable(false)]\r
69                 //public override AutoSizeMode AutoSizeMode {\r
70                 //        get { return base.AutoSizeMode; }\r
71                 //        set { base.AutoSizeMode = value; }\r
72                 //}\r
73 \r
74                 [Browsable (false)]\r
75                 [EditorBrowsable (EditorBrowsableState.Never)]\r
76                 new public BorderStyle BorderStyle {\r
77                         get { return base.BorderStyle; }\r
78                         set { base.BorderStyle = value; }\r
79                 }\r
80 \r
81                 [Browsable (false)]\r
82                 [EditorBrowsable (EditorBrowsableState.Never)]\r
83                 new public DockStyle Dock {\r
84                         get { return base.Dock; }\r
85                         set { base.Dock = value; }\r
86                 }\r
87 \r
88                 [Browsable (false)]\r
89                 [EditorBrowsable (EditorBrowsableState.Never)]\r
90                 new public DockPaddingEdges DockPadding {\r
91                         get { return base.DockPadding; }\r
92                 }\r
93 \r
94                 [Browsable (false)]\r
95                 [EditorBrowsable (EditorBrowsableState.Never)]\r
96                 new public int Height {\r
97                         get { return this.Visible ? base.Height : 0; }\r
98                         set { throw new NotSupportedException ("The height cannot be set"); }\r
99                 }\r
100 \r
101                 [Browsable (false)]\r
102                 [EditorBrowsable (EditorBrowsableState.Never)]\r
103                 new public Point Location {\r
104                         get { return base.Location; }\r
105                         set { base.Location = value; }\r
106                 }\r
107 \r
108                 [Browsable (false)]\r
109                 [EditorBrowsable (EditorBrowsableState.Never)]\r
110                 new public Size MaximumSize {\r
111                         get { return base.MaximumSize; }\r
112                         set { base.MaximumSize = value; }\r
113                 }\r
114 \r
115                 [Browsable (false)]\r
116                 [EditorBrowsable (EditorBrowsableState.Never)]\r
117                 new public Size MinimumSize {\r
118                         get { return base.MinimumSize; }\r
119                         set { base.MinimumSize = value; }\r
120                 }\r
121 \r
122                 [Browsable (false)]\r
123                 [EditorBrowsable (EditorBrowsableState.Never)]\r
124                 new public string Name {\r
125                         get { return base.name; }\r
126                         set { base.name = value; }\r
127                 }\r
128 \r
129                 [Browsable (false)]\r
130                 [EditorBrowsable (EditorBrowsableState.Never)]\r
131                 new public Control Parent {\r
132                         get { return base.Parent; }\r
133                         set { throw new NotSupportedException ("The parent cannot be set"); }\r
134                 }\r
135 \r
136                 [Browsable (false)]\r
137                 [EditorBrowsable (EditorBrowsableState.Never)]\r
138                 new public Size Size {\r
139                         get { return base.Size; }\r
140                         set { base.Size = value; }\r
141                 }\r
142 \r
143                 [Browsable (false)]\r
144                 [EditorBrowsable (EditorBrowsableState.Never)]\r
145                 new public int TabIndex {\r
146                         get { return base.TabIndex; }\r
147                         set { base.TabIndex = value; }\r
148                 }\r
149 \r
150                 [Browsable (false)]\r
151                 [EditorBrowsable (EditorBrowsableState.Never)]\r
152                 new public bool TabStop {\r
153                         get { return base.TabStop; }\r
154                         set { base.TabStop = value; }\r
155                 }\r
156 \r
157                 [Browsable (false)]\r
158                 [EditorBrowsable (EditorBrowsableState.Never)]\r
159                 new public bool Visible {\r
160                         get { return base.Visible; }\r
161                         set { base.Visible = value; }\r
162                 }\r
163 \r
164                 [Browsable (false)]\r
165                 [EditorBrowsable (EditorBrowsableState.Never)]\r
166                 new public int Width {\r
167                         get { return this.Visible ? base.Width : 0; }\r
168                         set { throw new NotSupportedException ("The width cannot be set"); }\r
169                 }\r
170                 #endregion\r
171 \r
172                 #region Internal Properties\r
173                 internal int InternalHeight { set { base.Height = value; } }\r
174 \r
175                 internal int InternalWidth { set { base.Width = value; } }\r
176                 #endregion\r
177         }\r
178 }\r
179 #endif