2 // ToolStripSeparator.cs
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:
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
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.
23 // Copyright (c) 2006 Jonathan Pobst
26 // Jonathan Pobst (monkey@jpobst.com)
30 using System.ComponentModel;
31 using System.Windows.Forms.Design;
33 namespace System.Windows.Forms
35 [ToolStripItemDesignerAvailability (ToolStripItemDesignerAvailability.ToolStrip | ToolStripItemDesignerAvailability.ContextMenuStrip)]
36 public class ToolStripSeparator : ToolStripItem
38 public ToolStripSeparator () : base ()
42 #region Public Properties
44 [EditorBrowsable (EditorBrowsableState.Never)]
45 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
46 public new bool AutoToolTip {
47 get { return base.AutoToolTip; }
48 set { base.AutoToolTip = value; }
52 [EditorBrowsable (EditorBrowsableState.Never)]
53 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
54 public override Image BackgroundImage {
55 get { return base.BackgroundImage; }
56 set { base.BackgroundImage = value; }
60 [EditorBrowsable (EditorBrowsableState.Never)]
61 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
62 public override ImageLayout BackgroundImageLayout {
63 get { return base.BackgroundImageLayout; }
64 set { base.BackgroundImageLayout = value; }
67 public override bool CanSelect { get { return false; } }
70 [EditorBrowsable (EditorBrowsableState.Never)]
71 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
72 public new ToolStripItemDisplayStyle DisplayStyle {
73 get { return base.DisplayStyle; }
74 set { base.DisplayStyle = value; }
78 [EditorBrowsable (EditorBrowsableState.Never)]
79 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
80 public new bool DoubleClickEnabled {
81 get { return base.DoubleClickEnabled; }
82 set { base.DoubleClickEnabled = value; }
86 [EditorBrowsable (EditorBrowsableState.Never)]
87 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
88 public override bool Enabled {
89 get { return base.Enabled; }
90 set { base.Enabled = value; }
94 [EditorBrowsable (EditorBrowsableState.Never)]
95 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
96 public override Font Font {
97 get { return base.Font; }
98 set { base.Font = value; }
102 [EditorBrowsable (EditorBrowsableState.Never)]
103 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
104 public override Image Image {
105 get { return base.Image; }
106 set { base.Image = value; }
110 [EditorBrowsable (EditorBrowsableState.Never)]
111 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
112 public new ContentAlignment ImageAlign {
113 get { return base.ImageAlign; }
114 set { base.ImageAlign = value; }
118 [EditorBrowsable (EditorBrowsableState.Never)]
119 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
120 [RefreshProperties (RefreshProperties.Repaint)]
121 public new int ImageIndex {
122 get { return base.ImageIndex; }
123 set { base.ImageIndex = value; }
127 [EditorBrowsable (EditorBrowsableState.Never)]
128 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
129 public new string ImageKey {
130 get { return base.ImageKey; }
131 set { base.ImageKey = value; }
135 [EditorBrowsable (EditorBrowsableState.Never)]
136 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
137 public new ToolStripItemImageScaling ImageScaling {
138 get { return base.ImageScaling; }
139 set { base.ImageScaling = value; }
143 [EditorBrowsable (EditorBrowsableState.Never)]
144 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
145 public new Color ImageTransparentColor {
146 get { return base.ImageTransparentColor; }
147 set { base.ImageTransparentColor = value; }
151 [EditorBrowsable (EditorBrowsableState.Never)]
152 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
153 public new bool RightToLeftAutoMirrorImage {
154 get { return base.RightToLeftAutoMirrorImage; }
155 set { base.RightToLeftAutoMirrorImage = value; }
159 [EditorBrowsable (EditorBrowsableState.Never)]
160 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
161 public override string Text {
162 get { return base.Text; }
163 set { base.Text = value; }
167 [EditorBrowsable (EditorBrowsableState.Never)]
168 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
169 public new ContentAlignment TextAlign {
170 get { return base.TextAlign; }
171 set { base.TextAlign = value; }
175 [EditorBrowsable (EditorBrowsableState.Never)]
176 [DefaultValue (ToolStripTextDirection.Horizontal)]
177 public override ToolStripTextDirection TextDirection {
178 get { return base.TextDirection; }
179 set { base.TextDirection = value; }
183 [EditorBrowsable (EditorBrowsableState.Never)]
184 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
185 public new TextImageRelation TextImageRelation {
186 get { return base.TextImageRelation; }
187 set { base.TextImageRelation = value; }
191 [EditorBrowsable (EditorBrowsableState.Never)]
192 [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
193 public new string ToolTipText {
194 get { return base.ToolTipText; }
195 set { base.ToolTipText = value; }
199 #region Protected Properties
200 protected internal override Padding DefaultMargin { get { return new Padding(); } }
201 protected override Size DefaultSize { get { return new Size(6, 6); } }
204 #region Public Methods
205 public override Size GetPreferredSize (Size constrainingSize)
207 return new Size(6, 6);
211 #region Protected Methods
212 [EditorBrowsable (EditorBrowsableState.Advanced)]
213 protected override AccessibleObject CreateAccessibilityInstance ()
215 ToolStripItemAccessibleObject ao = new ToolStripItemAccessibleObject (this);
217 ao.default_action = "Press";
218 ao.role = AccessibleRole.Separator;
219 ao.state = AccessibleStates.None;
224 [EditorBrowsable (EditorBrowsableState.Never)]
225 protected override void OnFontChanged (EventArgs e)
227 base.OnFontChanged (e);
230 protected override void OnPaint (PaintEventArgs e)
234 if (this.Owner != null)
236 if (this.IsOnDropDown)
237 this.Owner.Renderer.DrawSeparator (new ToolStripSeparatorRenderEventArgs (e.Graphics, this, this.Owner.Orientation == Orientation.Horizontal ? false : true));
239 this.Owner.Renderer.DrawSeparator (new ToolStripSeparatorRenderEventArgs (e.Graphics, this, this.Owner.Orientation == Orientation.Horizontal ? true : false));
243 protected internal override void SetBounds (Rectangle rect)
245 base.SetBounds (rect);
249 #region Public Events
251 [EditorBrowsable (EditorBrowsableState.Never)]
252 public new event EventHandler DisplayStyleChanged {
253 add { base.DisplayStyleChanged += value; }
254 remove { base.DisplayStyleChanged -= value; }
258 [EditorBrowsable (EditorBrowsableState.Never)]
259 public new event EventHandler EnabledChanged {
260 add { base.EnabledChanged += value; }
261 remove { base.EnabledChanged -= value; }
265 [EditorBrowsable (EditorBrowsableState.Never)]
266 public new event EventHandler TextChanged {
267 add { base.TextChanged += value; }
268 remove { base.TextChanged -= value; }
272 #region Internal Method/Properties
273 internal override ToolStripTextDirection DefaultTextDirection { get { return ToolStripTextDirection.Horizontal; } }