<Border Background="{./Background}" Foreground="{./Foreground}"
CornerRadius="{./CornerRadius}" BorderWidth="1">
<HorizontalStack Spacing="0">
- <VerticalStack Margin="4">
+ <VerticalStack Margin="5">
<SaturationValueSelector S="{²./S}" V="{²./V}" Focusable="true" Name="colorSelector" Margin="0"
Foreground="{../hueSelector.HueColor}"
- Width="120" Height="120"/>
- <HueSelector Hue="{²./H}" Focusable="true" Name="hueSelector" Margin="0" Width="120" Height="20"/>
+ Width="128" Height="128"/>
+ <HueSelector Hue="{²./H}" Focusable="true" Name="hueSelector" Margin="0" Width="128" Height="20"/>
</VerticalStack>
- <VerticalStack Margin="4" Height="Stretched">
- <HorizontalStack Height="Fit" Width="Stretched" Spacing="4">
+ <VerticalStack Margin="2" Spacing="0">
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2">
<GraphicObject Width="34" Height="21" Background="{./SelectedColor}"/>
<Label Focusable="true" Selectable="true" Width="Stretched" Text="{./HexColor}" />
</HorizontalStack>
{
get {
return lines [CurrentLine] [CurrentColumn];
+ //return _currentCol > lines[CurrentLine].Length ? (char)0 : lines [CurrentLine] [CurrentColumn];
}
}
/// <summary>
if (CurrentLine >= lines.Count)
CurrentLine = lines.Count - 1;
+ switch (TextAlignment) {
+ case Alignment.Center:
+ case Alignment.Top:
+ case Alignment.Bottom:
+ cPos+= ClientRectangle.Width - gr.TextExtents(lines [CurrentLine]).Width/2.0;
+ break;
+ case Alignment.Right:
+ case Alignment.TopRight:
+ case Alignment.BottomRight:
+ cPos += ClientRectangle.Width - gr.TextExtents(lines [CurrentLine]).Width;
+ break;
+ }
+
for (int i = 0; i < lines[CurrentLine].Length; i++)
{
string c = lines [CurrentLine].Substring (i, 1);
#region private fields
double _actualValue, minValue, maxValue, smallStep, bigStep;
+ int _decimals;
#endregion
#region public properties
- [XmlAttributeAttribute()][DefaultValue(0.0)]
+ [XmlAttributeAttribute][DefaultValue(2)]
+ public int Decimals
+ {
+ get { return _decimals; }
+ set
+ {
+ if (value == _decimals)
+ return;
+ _decimals = value;
+ NotifyValueChanged("Decimals", _decimals);
+ RegisterForGraphicUpdate();
+ }
+ }
+ [XmlAttributeAttribute][DefaultValue(0.0)]
public virtual double Minimum {
get { return minValue; }
set {
RegisterForRedraw ();
}
}
- [XmlAttributeAttribute()][DefaultValue(100.0)]
+ [XmlAttributeAttribute][DefaultValue(100.0)]
public virtual double Maximum
{
get { return maxValue; }
RegisterForRedraw ();
}
}
- [XmlAttributeAttribute()][DefaultValue(1.0)]
+ [XmlAttributeAttribute][DefaultValue(1.0)]
public virtual double SmallIncrement
{
get { return smallStep; }
RegisterForRedraw ();
}
}
- [XmlAttributeAttribute()][DefaultValue(5.0)]
+ [XmlAttributeAttribute][DefaultValue(5.0)]
public virtual double LargeIncrement
{
get { return bigStep; }
RegisterForRedraw ();
}
}
- [XmlAttributeAttribute()][DefaultValue(0.0)]
+ [XmlAttributeAttribute][DefaultValue(0.0)]
public double Value
{
get { return _actualValue; }
else
_actualValue = value;
+ _actualValue = Math.Round (_actualValue, _decimals);
+
NotifyValueChanged("Value", _actualValue);
RegisterForGraphicUpdate();
}