[NUI] Refactoring Theme and StyleManager (#1981)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI.Components / Style / SliderStyle.cs
index d7c578f..c97f84a 100755 (executable)
@@ -76,12 +76,7 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty TrackPaddingProperty = BindableProperty.Create(nameof(TrackPadding), typeof(Extents), typeof(SliderStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
-            var instance = (SliderStyle)bindable;
-            if (newValue != null)
-            {
-                if (null == instance.trackPadding) instance.trackPadding = new Extents(instance.OnTrackPaddingChanged, 0, 0, 0, 0);
-                instance.trackPadding.CopyFrom(null == newValue ? new Extents() : (Extents)newValue);
-            }
+            ((SliderStyle)bindable).trackPadding = newValue == null ? null : new Extents((Extents)newValue);
         },
         defaultValueCreator: (bindable) =>
         {
@@ -89,7 +84,7 @@ namespace Tizen.NUI.Components
             return instance.trackPadding;
         });
 
-        private IndicatorType? privateIndicatorType;
+        private IndicatorType? privateIndicatorType = Slider.IndicatorType.None;
         private uint? privateTrackThickness;
         private uint? privateSpaceBetweenTrackAndIndicator;
         private Extents trackPadding;
@@ -102,8 +97,6 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 8 </since_tizen>
         public SliderStyle() : base()
         {
-            IndicatorType = Slider.IndicatorType.None;
-            InitSubStyle();
         }
 
         /// <summary>
@@ -113,59 +106,49 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 8 </since_tizen>
         public SliderStyle(SliderStyle style) : base(style)
         {
-            if(style == null)
-            {
-                return;
-            }
-
-            InitSubStyle();
-
-            this.CopyFrom(style);
-
-            IndicatorType = style.IndicatorType;
         }
 
         /// <summary>
         /// Get or set background track.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public ImageViewStyle Track { get; set; }
+        public ImageViewStyle Track { get; set; } = new ImageViewStyle();
 
         /// <summary>
         /// Get or set slided track.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public ImageViewStyle Progress { get; set; }
+        public ImageViewStyle Progress { get; set; } = new ImageViewStyle();
 
         /// <summary>
         /// Get or set thumb.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public ImageViewStyle Thumb { get; set; }
+        public ImageViewStyle Thumb { get; set; } = new ImageViewStyle();
 
         /// <summary>
         /// Get or set low indicator image.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public ImageViewStyle LowIndicatorImage { get; set; }
+        public ImageViewStyle LowIndicatorImage { get; set; } = new ImageViewStyle();
 
         /// <summary>
         /// Get or set high indicator image.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public ImageViewStyle HighIndicatorImage { get; set; }
+        public ImageViewStyle HighIndicatorImage { get; set; } = new ImageViewStyle();
 
         /// <summary>
         /// Get or set low indicator text.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public TextLabelStyle LowIndicator { get; set; }
+        public TextLabelStyle LowIndicator { get; set; } = new TextLabelStyle();
 
         /// <summary>
         /// Get or set high indicator text.
         /// </summary>
         /// <since_tizen> 8 </since_tizen>
-        public TextLabelStyle HighIndicator { get; set; }
+        public TextLabelStyle HighIndicator { get; set; } = new TextLabelStyle();
 
         /// <summary>
         /// Get or set Indicator type
@@ -203,11 +186,7 @@ namespace Tizen.NUI.Components
         /// <since_tizen> 8 </since_tizen>
         public Extents TrackPadding
         {
-            get
-            {
-                Extents tmp = (Extents)GetValue(TrackPaddingProperty);
-                return (null != tmp) ? tmp : trackPadding = new Extents(OnTrackPaddingChanged, 0, 0, 0, 0);
-            }
+            get => ((Extents)GetValue(TrackPaddingProperty)) ?? (trackPadding = new Extents(0, 0, 0, 0));
             set => SetValue(TrackPaddingProperty, value);
         }
 
@@ -220,54 +199,15 @@ namespace Tizen.NUI.Components
         {
             base.CopyFrom(bindableObject);
 
-            SliderStyle sliderStyle = bindableObject as SliderStyle;
-
-            if (null != sliderStyle)
+            if (bindableObject is SliderStyle sliderStyle)
             {
-                if (sliderStyle.Track != null)
-                {
-                    Track?.CopyFrom(sliderStyle.Track);
-                }
-
-                if (sliderStyle.Progress != null)
-                {
-                    Progress?.CopyFrom(sliderStyle.Progress);
-                }
-
-                if (sliderStyle.Thumb != null)
-                {
-                    Thumb?.CopyFrom(sliderStyle.Thumb);
-                }
-
-                if (sliderStyle.LowIndicatorImage != null)
-                {
-                    LowIndicatorImage?.CopyFrom(sliderStyle.LowIndicatorImage);
-                }
-
-                if (sliderStyle.HighIndicatorImage != null)
-                {
-                    HighIndicatorImage?.CopyFrom(sliderStyle.HighIndicatorImage);
-                }
-
-                if (sliderStyle.LowIndicator != null)
-                {
-                    LowIndicator?.CopyFrom(sliderStyle.LowIndicator);
-                }
-
-                if (sliderStyle.HighIndicator != null)
-                {
-                    HighIndicator?.CopyFrom(sliderStyle.HighIndicator);
-                }
-
-                if (sliderStyle.TrackThickness != null)
-                {
-                    TrackThickness = sliderStyle.TrackThickness;
-                }
-
-                if (sliderStyle.TrackPadding != null)
-                {
-                    TrackPadding = sliderStyle.TrackPadding;
-                }
+                Track.CopyFrom(sliderStyle.Track);
+                Progress.CopyFrom(sliderStyle.Progress);
+                Thumb.CopyFrom(sliderStyle.Thumb);
+                LowIndicatorImage.CopyFrom(sliderStyle.LowIndicatorImage);
+                HighIndicatorImage.CopyFrom(sliderStyle.HighIndicatorImage);
+                LowIndicator.CopyFrom(sliderStyle.LowIndicator);
+                HighIndicator.CopyFrom(sliderStyle.HighIndicator);
             }
         }
 
@@ -290,21 +230,5 @@ namespace Tizen.NUI.Components
 
             base.Dispose(type);
         }
-
-        private void InitSubStyle()
-        {
-            Track = new ImageViewStyle();
-            Progress = new ImageViewStyle();
-            Thumb = new ImageViewStyle();
-            LowIndicatorImage = new ImageViewStyle();
-            HighIndicatorImage = new ImageViewStyle();
-            LowIndicator = new TextLabelStyle();
-            HighIndicator = new TextLabelStyle();
-        }
-
-        private void OnTrackPaddingChanged(ushort start, ushort end, ushort top, ushort bottom)
-        {
-            TrackPadding = new Extents(start, end, top, bottom);
-        }
     }
 }