Implementation of the 2.0 session state model
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ToolStripSeparator.cs
1 //
2 // ToolStripSeparator.cs
3 //
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
11 // 
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
14 // 
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 //
23 // Copyright (c) 2006 Jonathan Pobst
24 //
25 // Authors:
26 //      Jonathan Pobst (monkey@jpobst.com)
27 //
28 #if NET_2_0
29
30 using System.Drawing;
31 using System.ComponentModel;
32 using System.Windows.Forms.Design;
33
34 namespace System.Windows.Forms
35 {
36         [ToolStripItemDesignerAvailability (ToolStripItemDesignerAvailability.ToolStrip | ToolStripItemDesignerAvailability.ContextMenuStrip)]
37         public class ToolStripSeparator : ToolStripItem
38         {
39                 public ToolStripSeparator () : base ()
40                 {
41                 }
42
43                 #region Public Properties
44                 [Browsable (false)]
45                 [EditorBrowsable (EditorBrowsableState.Never)]
46                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
47                 public new bool AutoToolTip {
48                         get { return base.AutoToolTip; }
49                         set { base.AutoToolTip = value; }
50                 }
51
52                 [Browsable (false)]
53                 [EditorBrowsable (EditorBrowsableState.Never)]
54                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
55                 public override Image BackgroundImage {
56                         get { return base.BackgroundImage; }
57                         set { base.BackgroundImage = value; }
58                 }
59
60                 [Browsable (false)]
61                 [EditorBrowsable (EditorBrowsableState.Never)]
62                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
63                 public override ImageLayout BackgroundImageLayout {
64                         get { return base.BackgroundImageLayout; }
65                         set { base.BackgroundImageLayout = value; }
66                 }
67                 
68                 public override bool CanSelect { get { return false; } }
69
70                 [Browsable (false)]
71                 [EditorBrowsable (EditorBrowsableState.Never)]
72                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
73                 public new ToolStripItemDisplayStyle DisplayStyle {
74                         get { return base.DisplayStyle; }
75                         set { base.DisplayStyle = value; }
76                 }
77
78                 [Browsable (false)]
79                 [EditorBrowsable (EditorBrowsableState.Never)]
80                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
81                 public new bool DoubleClickEnabled {
82                         get { return base.DoubleClickEnabled; }
83                         set { base.DoubleClickEnabled = value; }
84                 }
85
86                 [Browsable (false)]
87                 [EditorBrowsable (EditorBrowsableState.Never)]
88                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
89                 public override bool Enabled {
90                         get { return base.Enabled; }
91                         set { base.Enabled = value; }
92                 }
93
94                 [Browsable (false)]
95                 [EditorBrowsable (EditorBrowsableState.Never)]
96                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
97                 public override Font Font {
98                         get { return base.Font; }
99                         set { base.Font = value; }
100                 }
101
102                 [Browsable (false)]
103                 [EditorBrowsable (EditorBrowsableState.Never)]
104                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
105                 public override Image Image {
106                         get { return base.Image; }
107                         set { base.Image = value; }
108                 }
109
110                 [Browsable (false)]
111                 [EditorBrowsable (EditorBrowsableState.Never)]
112                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
113                 public new ContentAlignment ImageAlign {
114                         get { return base.ImageAlign; }
115                         set { base.ImageAlign = value; }
116                 }
117
118                 [Browsable (false)]
119                 [EditorBrowsable (EditorBrowsableState.Never)]
120                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
121                 public new int ImageIndex {
122                         get { return base.ImageIndex; }
123                         set { base.ImageIndex = value; }
124                 }
125
126                 [Browsable (false)]
127                 [EditorBrowsable (EditorBrowsableState.Never)]
128                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
129                 public new ToolStripItemImageScaling ImageScaling {
130                         get { return base.ImageScaling; }
131                         set { base.ImageScaling = value; }
132                 }
133
134                 [Browsable (false)]
135                 [EditorBrowsable (EditorBrowsableState.Never)]
136                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
137                 public new Color ImageTransparentColor {
138                         get { return base.ImageTransparentColor; }
139                         set { base.ImageTransparentColor = value; }
140                 }
141
142                 [Browsable (false)]
143                 [EditorBrowsable (EditorBrowsableState.Never)]
144                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
145                 public override string Text {
146                         get { return base.Text; }
147                         set { base.Text = value; }
148                 }
149
150                 [Browsable (false)]
151                 [EditorBrowsable (EditorBrowsableState.Never)]
152                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
153                 public new ContentAlignment TextAlign {
154                         get { return base.TextAlign; }
155                         set { base.TextAlign = value; }
156                 }
157
158                 [Browsable (false)]
159                 [EditorBrowsable (EditorBrowsableState.Never)]
160                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
161                 public new TextImageRelation TextImageRelation {
162                         get { return base.TextImageRelation; }
163                         set { base.TextImageRelation = value; }
164                 }
165
166                 [Browsable (false)]
167                 [EditorBrowsable (EditorBrowsableState.Never)]
168                 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
169                 public new string ToolTipText {
170                         get { return base.ToolTipText; }
171                         set { base.ToolTipText = value; }
172                 }
173                 #endregion
174
175                 #region Protected Properties
176                 protected internal override Padding DefaultMargin { get { return new Padding(); } }
177                 protected override Size DefaultSize { get { return new Size(6, 6); } }
178                 #endregion
179
180                 #region Public Methods
181                 public override Size GetPreferredSize (Size constrainingSize)
182                 {
183                         return new Size(6, 6);
184                 }
185                 #endregion
186
187                 #region Protected Methods
188                 [EditorBrowsable (EditorBrowsableState.Advanced)]
189                 protected override AccessibleObject CreateAccessibilityInstance ()
190                 {
191                         ToolStripItemAccessibleObject ao = new ToolStripItemAccessibleObject (this);
192
193                         ao.default_action = "Press";
194                         ao.role = AccessibleRole.Separator;
195                         ao.state = AccessibleStates.None;
196
197                         return ao;
198                 }
199                 
200                 [EditorBrowsable (EditorBrowsableState.Never)]
201                 protected override void OnFontChanged (EventArgs e)
202                 {
203                         base.OnFontChanged (e);
204                 }
205                 
206                 protected override void OnPaint (PaintEventArgs e)
207                 {
208                         base.OnPaint (e);
209                         
210                         if (this.Owner != null)
211                         {
212                                 if (this.IsOnDropDown)
213                                         this.Owner.Renderer.DrawSeparator (new ToolStripSeparatorRenderEventArgs (e.Graphics, this, this.Owner.Orientation == Orientation.Horizontal ? false : true));
214                                 else
215                                         this.Owner.Renderer.DrawSeparator (new ToolStripSeparatorRenderEventArgs (e.Graphics, this, this.Owner.Orientation == Orientation.Horizontal ? true : false));
216                         }
217                 }
218
219                 protected internal override void SetBounds (Rectangle bounds)
220                 {
221                         base.SetBounds (bounds);
222                 }
223                 #endregion
224
225                 #region Public Events
226                 [Browsable (false)]
227                 [EditorBrowsable (EditorBrowsableState.Never)]
228                 public new event EventHandler DisplayStyleChanged {
229                         add { base.DisplayStyleChanged += value; }
230                         remove { base.DisplayStyleChanged -= value; }
231                 }
232
233                 [Browsable (false)]
234                 [EditorBrowsable (EditorBrowsableState.Never)]
235                 public new event EventHandler EnabledChanged {
236                         add { base.EnabledChanged += value; }
237                         remove { base.EnabledChanged -= value; }
238                 }
239
240                 [Browsable (false)]
241                 [EditorBrowsable (EditorBrowsableState.Never)]
242                 public new event EventHandler TextChanged {
243                         add { base.TextChanged += value; }
244                         remove { base.TextChanged -= value; }
245                 }
246                 #endregion
247         }
248 }
249 #endif