diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2017-11-04 18:01:49 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2017-11-04 18:01:49 +0100 |
| commit | 8b4da93104f0c5e51c1fe5864fd3079c93ccd1ab (patch) | |
| tree | 788e319cdf54817a1e2eee3ad46f6f1b43a24277 | |
| parent | 1611f0aea0ec4e5d0239fb24c6db8897aace13c2 (diff) | |
label: compute correct text cursor when anlign is not left, ColorPicker and num control improvements
| -rwxr-xr-x | Templates/ColorPicker.template | 10 | ||||
| -rw-r--r-- | src/GraphicObjects/Label.cs | 14 | ||||
| -rw-r--r-- | src/GraphicObjects/NumericControl.cs | 26 |
3 files changed, 40 insertions, 10 deletions
diff --git a/Templates/ColorPicker.template b/Templates/ColorPicker.template index cefff59b..81bb0bd1 100755 --- a/Templates/ColorPicker.template +++ b/Templates/ColorPicker.template @@ -2,14 +2,14 @@ <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> diff --git a/src/GraphicObjects/Label.cs b/src/GraphicObjects/Label.cs index 64ee9688..214e14ed 100644 --- a/src/GraphicObjects/Label.cs +++ b/src/GraphicObjects/Label.cs @@ -265,6 +265,7 @@ namespace Crow { get { return lines [CurrentLine] [CurrentColumn]; + //return _currentCol > lines[CurrentLine].Length ? (char)0 : lines [CurrentLine] [CurrentColumn]; } } /// <summary> @@ -775,6 +776,19 @@ namespace Crow 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); diff --git a/src/GraphicObjects/NumericControl.cs b/src/GraphicObjects/NumericControl.cs index 9b511831..8ab60edb 100644 --- a/src/GraphicObjects/NumericControl.cs +++ b/src/GraphicObjects/NumericControl.cs @@ -44,10 +44,24 @@ namespace Crow #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 { @@ -59,7 +73,7 @@ namespace Crow RegisterForRedraw (); } } - [XmlAttributeAttribute()][DefaultValue(100.0)] + [XmlAttributeAttribute][DefaultValue(100.0)] public virtual double Maximum { get { return maxValue; } @@ -72,7 +86,7 @@ namespace Crow RegisterForRedraw (); } } - [XmlAttributeAttribute()][DefaultValue(1.0)] + [XmlAttributeAttribute][DefaultValue(1.0)] public virtual double SmallIncrement { get { return smallStep; } @@ -85,7 +99,7 @@ namespace Crow RegisterForRedraw (); } } - [XmlAttributeAttribute()][DefaultValue(5.0)] + [XmlAttributeAttribute][DefaultValue(5.0)] public virtual double LargeIncrement { get { return bigStep; } @@ -98,7 +112,7 @@ namespace Crow RegisterForRedraw (); } } - [XmlAttributeAttribute()][DefaultValue(0.0)] + [XmlAttributeAttribute][DefaultValue(0.0)] public double Value { get { return _actualValue; } @@ -114,6 +128,8 @@ namespace Crow else _actualValue = value; + _actualValue = Math.Round (_actualValue, _decimals); + NotifyValueChanged("Value", _actualValue); RegisterForGraphicUpdate(); } |