spinner: Internal code clean up for spinner.
authorDaniel Juyung Seo <seojuyung2@gmail.com>
Wed, 22 Jan 2014 15:11:48 +0000 (00:11 +0900)
committerDaniel Juyung Seo <seojuyung2@gmail.com>
Wed, 22 Jan 2014 16:31:53 +0000 (01:31 +0900)
- Used macro for constant.
- Changed timer name to be more descriptive.
- Added descriptions about timers.

src/lib/elm_spinner.c
src/lib/elm_widget_spinner.h

index 50cde23..d8c59e7 100644 (file)
@@ -17,6 +17,8 @@ EAPI Eo_Op ELM_OBJ_SPINNER_BASE_ID = EO_NOOP;
 #define MY_CLASS_NAME "Elm_Spinner"
 #define MY_CLASS_NAME_LEGACY "elm_spinner"
 
+#define ELM_SPINNER_DELAY_CHANGE_TIME 0.2
+
 static const char SIG_CHANGED[] = "changed";
 static const char SIG_DRAG_START[] = "spinner,drag,start";
 static const char SIG_DRAG_STOP[] = "spinner,drag,stop";
@@ -114,11 +116,11 @@ apply:
 }
 
 static Eina_Bool
-_delay_change(void *data)
+_delay_change_timer_cb(void *data)
 {
    ELM_SPINNER_DATA_GET(data, sd);
 
-   sd->delay_timer = NULL;
+   sd->delay_change_timer = NULL;
    evas_object_smart_callback_call(data, SIG_DELAY_CHANGED, NULL);
 
    return ECORE_CALLBACK_CANCEL;
@@ -153,8 +155,9 @@ _value_set(Evas_Object *obj,
    sd->val = new_val;
 
    evas_object_smart_callback_call(obj, SIG_CHANGED, NULL);
-   ecore_timer_del(sd->delay_timer);
-   sd->delay_timer = ecore_timer_add(0.2, _delay_change, obj);
+   ecore_timer_del(sd->delay_change_timer);
+   sd->delay_change_timer = ecore_timer_add(ELM_SPINNER_DELAY_CHANGE_TIME,
+                                            _delay_change_timer_cb, obj);
 
    return EINA_TRUE;
 }
@@ -266,8 +269,9 @@ _entry_activated_cb(void *data,
 
    _entry_value_apply(data);
    evas_object_smart_callback_call(data, SIG_CHANGED, NULL);
-   ecore_timer_del(sd->delay_timer);
-   sd->delay_timer = ecore_timer_add(0.2, _delay_change, data);
+   ecore_timer_del(sd->delay_change_timer);
+   sd->delay_change_timer = ecore_timer_add(ELM_SPINNER_DELAY_CHANGE_TIME,
+                                            _delay_change_timer_cb, data);
 }
 
 static void
@@ -547,7 +551,7 @@ _elm_spinner_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
 
    if (!elm_widget_focus_get(obj))
      {
-        ELM_SAFE_FREE(sd->delay_timer, ecore_timer_del);
+        ELM_SAFE_FREE(sd->delay_change_timer, ecore_timer_del);
         ELM_SAFE_FREE(sd->spin_timer, ecore_timer_del);
 
         _entry_value_apply(obj);
@@ -740,7 +744,7 @@ _elm_spinner_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
    Elm_Spinner_Smart_Data *sd = _pd;
 
    eina_stringshare_del(sd->label);
-   ecore_timer_del(sd->delay_timer);
+   ecore_timer_del(sd->delay_change_timer);
    ecore_timer_del(sd->spin_timer);
 
    if (sd->special_values)
index 6d13d0f..b4225c2 100644 (file)
@@ -25,12 +25,13 @@ struct _Elm_Spinner_Smart_Data
    Evas_Object          *ent;
    const char           *label;
    double                val, val_min, val_max, val_base;
-   double                step; // step for the value change. 1 by default.
-   double                drag_start_val; // spinner value on drag start.
-                                         // this is reset to 0 when drag stops.
+   double                step; /*<< step for the value change. 1 by default. */
+   double                drag_start_val; /*<< spinner value on drag start.
+                                         this is reset to 0 when drag stops. */
    double                spin_speed, interval, first_interval;
    int                   round;
-   Ecore_Timer          *delay_timer, *spin_timer;
+   Ecore_Timer          *delay_change_timer; /*<< a timer for a delay,changed smart callback */
+   Ecore_Timer          *spin_timer; /*<< a timer for a repeated spinner value change on mouse down */
    Eina_List            *special_values;
 
    Eina_Bool             entry_visible : 1;