elm_spinner: Call changed callback when value changed in min_max_set() API. 27/179327/1 accepted/tizen/4.0/unified/20180521.190737 submit/tizen_4.0/20180518.112408
authorWoochan Lee <wc0917.lee@samsung.com>
Thu, 17 May 2018 06:40:19 +0000 (15:40 +0900)
committerWoochan Lee <wc0917.lee@samsung.com>
Thu, 17 May 2018 06:44:35 +0000 (15:44 +0900)
@tizen_feature

Change-Id: Ifa41f2380b4256b59be52ea924cc3f0f7a3073d5

src/lib/elm_spinner.c

index 7d4c2e0..400b49e 100644 (file)
@@ -1679,16 +1679,39 @@ _elm_spinner_label_format_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
 EOLIAN static void
 _elm_spinner_min_max_set(Eo *obj, Elm_Spinner_Data *sd, double min, double max)
 {
+   //TIZEN_ONLY(20180517): Call changed callback when value changed in min_max_set.
+   Eina_Bool value_changed = EINA_FALSE;
+   //
+
    if ((sd->val_min == min) && (sd->val_max == max)) return;
 
    sd->val_min = min;
    sd->val_max = max;
 
-   if (sd->val < sd->val_min) sd->val = sd->val_min;
-   if (sd->val > sd->val_max) sd->val = sd->val_max;
+   if (sd->val < sd->val_min)
+     {
+        sd->val = sd->val_min;
+        //TIZEN_ONLY(20180517): Call changed callback when value changed in min_max_set.
+        value_changed = EINA_TRUE;
+        //
+     }
+   if (sd->val > sd->val_max)
+     {
+        sd->val = sd->val_max;
+        //TIZEN_ONLY(20180517): Call changed callback when value changed in min_max_set.
+        value_changed = EINA_TRUE;
+        //
+     }
 
    _val_set(obj);
-   _label_write(obj);
+   //TIZEN_ONLY(20180517): Call changed callback when value changed in min_max_set.
+   //_label_write(obj);
+   if (value_changed)
+     {
+        _label_write(obj);
+        evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
+     }
+   //
    //TIZEN_ONLY(20160419): Added entry filter feature.
    _entry_accept_filter_add(obj);
    //