From: Seoyeon Kim Date: Fri, 10 Jun 2022 06:38:34 +0000 (+0900) Subject: [NUI] Update to check Min/Max value and emit ValueChanged event in one place X-Git-Tag: accepted/tizen/unified/20231205.024657~905 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d287e8186bfe9796027d7a7c2e647bdbfc2908db;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [NUI] Update to check Min/Max value and emit ValueChanged event in one place - Checking minimum and maximum values and emitting `ValueChanged` in BindableProperty of `CurrentValue`. Signed-off-by: Seoyeon Kim --- diff --git a/src/Tizen.NUI.Components/Controls/Slider.Internal.cs b/src/Tizen.NUI.Components/Controls/Slider.Internal.cs index bcf477f..52c4927 100755 --- a/src/Tizen.NUI.Components/Controls/Slider.Internal.cs +++ b/src/Tizen.NUI.Components/Controls/Slider.Internal.cs @@ -230,7 +230,7 @@ namespace Tizen.NUI.Components { WidthResizePolicy = ResizePolicyType.Fixed, HeightResizePolicy = ResizePolicyType.Fixed, - AccessibilityHidden = true, + AccessibilityHidden = true, }; this.Add(lowIndicatorImage); } diff --git a/src/Tizen.NUI.Components/Controls/Slider.cs b/src/Tizen.NUI.Components/Controls/Slider.cs index 13aea98..8ea9d9b 100755 --- a/src/Tizen.NUI.Components/Controls/Slider.cs +++ b/src/Tizen.NUI.Components/Controls/Slider.cs @@ -177,7 +177,23 @@ namespace Tizen.NUI.Components if (newValue != null) { - instance.curValue = (float)newValue; + float value = (float)newValue; + if (value < instance.minValue) + { + instance.curValue = instance.minValue; + } + else if (value > instance.maxValue) + { + instance.curValue = instance.maxValue; + } + else + { + instance.curValue = value; + } + + instance.sliderValueChangedHandler?.Invoke(instance, new SliderValueChangedEventArgs { + CurrentValue = instance.curValue + }); if (Accessibility.Accessibility.IsEnabled && instance.IsHighlighted) { instance.EmitAccessibilityEvent(AccessibilityPropertyChangeEvent.Value); @@ -1460,16 +1476,13 @@ namespace Tizen.NUI.Components isPressed = true; if (IsDiscrete) { - float value = CurrentValue - discreteValue; - CurrentValue = value < MinValue ? MinValue : value; + float value = curValue - discreteValue; + CurrentValue = value; } else { CurrentValue -= 1; } - sliderValueChangedHandler?.Invoke(this, new SliderValueChangedEventArgs { - CurrentValue = curValue - }); } return true; // Consumed } @@ -1484,16 +1497,13 @@ namespace Tizen.NUI.Components isPressed = true; if (IsDiscrete) { - float value = CurrentValue + discreteValue; - CurrentValue = value > MaxValue ? MaxValue : value; + float value = curValue + discreteValue; + CurrentValue = value; } else { CurrentValue += 1; } - sliderValueChangedHandler?.Invoke(this, new SliderValueChangedEventArgs { - CurrentValue = curValue - }); } return true; // Consumed } @@ -1621,10 +1631,6 @@ namespace Tizen.NUI.Components if (current >= MinValue && current <= MaxValue) { CurrentValue = current; - if (sliderValueChangedHandler != null) - { - sliderValueChangedHandler(this, new SliderValueChangedEventArgs { CurrentValue = current }); - } return true; } @@ -1762,13 +1768,6 @@ namespace Tizen.NUI.Components { this.CurrentValue = CalculateDiscreteValue(this.CurrentValue); } - - if (sliderValueChangedHandler != null) - { - SliderValueChangedEventArgs args = new SliderValueChangedEventArgs(); - args.CurrentValue = this.CurrentValue; - sliderValueChangedHandler(this, args); - } } private bool OnTouchEventForTrack(object source, TouchEventArgs e) @@ -1780,7 +1779,7 @@ namespace Tizen.NUI.Components if (this.FocusableInTouch == false && editMode == false) { - isFocused = false; + isFocused = false; } PointStateType state = e.Touch.GetState(0); @@ -1856,13 +1855,6 @@ namespace Tizen.NUI.Components { this.CurrentValue = CalculateDiscreteValue(this.CurrentValue); } - - if (null != sliderValueChangedHandler) - { - SliderValueChangedEventArgs args = new SliderValueChangedEventArgs(); - args.CurrentValue = this.CurrentValue; - sliderValueChangedHandler(this, args); - } } }