216 lines
5.1 KiB
C#
216 lines
5.1 KiB
C#
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using DevComponents.Instrumentation.Primitives;
|
|
|
|
namespace DevComponents.Instrumentation
|
|
{
|
|
public class NumericRangeCollection : GenericCollection<NumericRange>
|
|
{
|
|
#region GetValueRange
|
|
|
|
public NumericRange GetValueRange(double value)
|
|
{
|
|
foreach (NumericRange range in this)
|
|
{
|
|
if (value >= range.StartValue && value <= range.EndValue)
|
|
return (range);
|
|
}
|
|
|
|
return (null);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region ICloneable Members
|
|
|
|
public override object Clone()
|
|
{
|
|
NumericRangeCollection copy = new NumericRangeCollection();
|
|
|
|
CopyToItem(copy);
|
|
|
|
return (copy);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CopyToItem
|
|
|
|
internal void CopyToItem(NumericRangeCollection copy)
|
|
{
|
|
foreach (NumericRange item in this)
|
|
{
|
|
NumericRange ic = new NumericRange();
|
|
|
|
item.CopyToItem(ic);
|
|
|
|
copy.Add(ic);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
public class NumericRange : IndicatorRange
|
|
{
|
|
#region Private variables
|
|
|
|
private Color _DigitColor;
|
|
private Color _DigitDimColor;
|
|
private Color _DecimalColor;
|
|
private Color _DecimalDimColor;
|
|
|
|
private NumericIndicator _NumericIndicator;
|
|
|
|
#endregion
|
|
|
|
#region Public properties
|
|
|
|
#region DecimalColor
|
|
|
|
/// <summary>
|
|
/// Gets or sets the default Decimal Color
|
|
/// </summary>
|
|
[Browsable(true), Category("Appearance"), DefaultValue(typeof(Color), "FireBrick")]
|
|
[Description("Indicates the default Decimal Color.")]
|
|
public Color DecimalColor
|
|
{
|
|
get { return (_DecimalColor); }
|
|
|
|
set
|
|
{
|
|
if (_DecimalColor != value)
|
|
{
|
|
_DecimalColor = value;
|
|
|
|
OnIndicatorRangeChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region DecimalDimColor
|
|
|
|
/// <summary>
|
|
/// Gets or sets the default Decimal Dim Color (Dim LED color)
|
|
/// </summary>
|
|
[Browsable(true), Category("Appearance"), DefaultValue(typeof(Color), "Empty")]
|
|
[Description("Indicates the default Decimal Dim Color (Dim LED color).")]
|
|
public Color DecimalDimColor
|
|
{
|
|
get { return (_DecimalDimColor); }
|
|
|
|
set
|
|
{
|
|
if (_DecimalDimColor != value)
|
|
{
|
|
_DecimalDimColor = value;
|
|
|
|
OnIndicatorRangeChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region DigitColor
|
|
|
|
/// <summary>
|
|
/// Gets or sets the default Digit Color
|
|
/// </summary>
|
|
[Browsable(true), Category("Appearance"), DefaultValue(typeof(Color), "SteelBlue")]
|
|
[Description("Indicates the default Digit Color.")]
|
|
public Color DigitColor
|
|
{
|
|
get { return (_DigitColor); }
|
|
|
|
set
|
|
{
|
|
if (_DigitColor != value)
|
|
{
|
|
_DigitColor = value;
|
|
|
|
OnIndicatorRangeChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region DigitDimColor
|
|
|
|
/// <summary>
|
|
/// Gets or sets the default Digit Dim Color (Dim LED color)
|
|
/// </summary>
|
|
[Browsable(true), Category("Appearance"), DefaultValue(typeof(Color), "Empty")]
|
|
[Description("Indicates the default Digit Dim Color (Dim LED color).")]
|
|
public Color DigitDimColor
|
|
{
|
|
get { return (_DigitDimColor); }
|
|
|
|
set
|
|
{
|
|
if (_DigitDimColor != value)
|
|
{
|
|
_DigitDimColor = value;
|
|
|
|
OnIndicatorRangeChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region NumericIndicator
|
|
|
|
/// <summary>
|
|
/// Gets or sets the NumericIndicator
|
|
/// </summary>
|
|
[Browsable(false)]
|
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
|
|
public NumericIndicator NumericIndicator
|
|
{
|
|
get { return (_NumericIndicator); }
|
|
internal set { _NumericIndicator = value; }
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region ICloneable Members
|
|
|
|
public override object Clone()
|
|
{
|
|
NumericRange copy = new NumericRange();
|
|
|
|
CopyToItem(copy);
|
|
|
|
return (copy);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CopyToItem
|
|
|
|
public override void CopyToItem(GaugeItem copy)
|
|
{
|
|
NumericRange c = copy as NumericRange;
|
|
|
|
if (c != null)
|
|
{
|
|
base.CopyToItem(c);
|
|
|
|
c.DecimalColor = _DecimalColor;
|
|
c.DecimalDimColor = _DecimalDimColor;
|
|
c.DigitColor = _DigitColor;
|
|
c.DigitDimColor = _DigitDimColor;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|