diff options
Diffstat (limited to 'source/ShiftUI/ToolStrip/ToolStripProgressBar.cs')
| -rw-r--r-- | source/ShiftUI/ToolStrip/ToolStripProgressBar.cs | 223 |
1 files changed, 223 insertions, 0 deletions
diff --git a/source/ShiftUI/ToolStrip/ToolStripProgressBar.cs b/source/ShiftUI/ToolStrip/ToolStripProgressBar.cs new file mode 100644 index 0000000..91ec88e --- /dev/null +++ b/source/ShiftUI/ToolStrip/ToolStripProgressBar.cs @@ -0,0 +1,223 @@ +// +// ToolStripProgressBar.cs +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +// Copyright (c) 2006 Jonathan Pobst +// +// Authors: +// Jonathan Pobst ([email protected]) +// + +using System.Drawing; +using System.ComponentModel; +using System; + +namespace ShiftUI +{ + [DefaultProperty ("Value")] + public class ToolStripProgressBar : ToolStripWidgetHost + { + #region Public Constructors + public ToolStripProgressBar () : base (new ProgressBar ()) + { + } + + public ToolStripProgressBar (string name) : this () + { + this.Name = name; + } + #endregion + + #region Public Properties + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + //[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + public override Image BackgroundImage { + get { return base.BackgroundImage; } + set { base.BackgroundImage = value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + //[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + public override ImageLayout BackgroundImageLayout { + get { return base.BackgroundImageLayout; } + set { base.BackgroundImageLayout = value; } + } + + [DefaultValue (100)] + public int MarqueeAnimationSpeed { + get { return this.ProgressBar.MarqueeAnimationSpeed; } + set { this.ProgressBar.MarqueeAnimationSpeed = value; } + } + + [DefaultValue (100)] + [RefreshProperties (RefreshProperties.Repaint)] + public int Maximum { + get { return this.ProgressBar.Maximum; } + set { this.ProgressBar.Maximum = value; } + } + + [DefaultValue (0)] + [RefreshProperties (RefreshProperties.Repaint)] + public int Minimum { + get { return this.ProgressBar.Minimum; } + set { this.ProgressBar.Minimum = value; } + } + + [Browsable (false)] + //[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + public ProgressBar ProgressBar { + get { return (ProgressBar)base.Widget; } + } + + [Localizable (true)] + [DefaultValue (false)] + public virtual bool RightToLeftLayout { + get { return this.ProgressBar.RightToLeftLayout; } + set { this.ProgressBar.RightToLeftLayout = value; } + } + + [DefaultValue (10)] + public int Step { + get { return this.ProgressBar.Step; } + set { this.ProgressBar.Step = value; } + } + + [DefaultValue (ProgressBarStyle.Blocks)] + public ProgressBarStyle Style { + get { return this.ProgressBar.Style; } + set { this.ProgressBar.Style = value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + //[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + public override string Text { + get { return base.Text; } + set { base.Text = value; } + } + + [Bindable (true)] + [DefaultValue (0)] + public int Value { + get { return this.ProgressBar.Value; } + set { this.ProgressBar.Value = value; } + } + #endregion + + #region Protected Properties + protected internal override Padding DefaultMargin { get { return new Padding (1, 2, 1, 1); } } + protected override Size DefaultSize { get { return new Size (100, 15); } } + #endregion + + #region Public Methods + public void Increment (int value) + { + this.ProgressBar.Increment (value); + } + + public void PerformStep () + { + this.ProgressBar.PerformStep (); + } + #endregion + + #region Protected Methods + protected virtual void OnRightToLeftLayoutChanged (EventArgs e) + { + } + + protected override void OnSubscribeWidgetEvents (Widget Widget) + { + base.OnSubscribeWidgetEvents (Widget); + } + + protected override void OnUnsubscribeWidgetEvents (Widget Widget) + { + base.OnUnsubscribeWidgetEvents (Widget); + } + #endregion + + #region Public Events + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + public new event KeyEventHandler KeyDown { + add { base.KeyDown += value; } + remove { base.KeyDown -= value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + public new event KeyPressEventHandler KeyPress { + add { base.KeyPress += value; } + remove { base.KeyPress -= value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + public new event KeyEventHandler KeyUp { + add { base.KeyUp += value; } + remove { base.KeyUp -= value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + public new event EventHandler LocationChanged { + add { base.LocationChanged += value; } + remove { base.LocationChanged -= value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + public new event EventHandler OwnerChanged { + add { base.OwnerChanged += value; } + remove { base.OwnerChanged -= value; } + } + + public event EventHandler RightToLeftLayoutChanged { + add { ProgressBar.RightToLeftLayoutChanged += value; } + remove { ProgressBar.RightToLeftLayoutChanged -= value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + public new event EventHandler TextChanged { + add { base.TextChanged += value; } + remove { base.TextChanged -= value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + public new event EventHandler Validated { + add { base.Validated += value; } + remove { base.Validated -= value; } + } + + [Browsable (false)] + //[EditorBrowsable (EditorBrowsableState.Never)] + public new event CancelEventHandler Validating { + add { base.Validating += value; } + remove { base.Validating -= value; } + } + #endregion + } +} |
