check: Used new signal for checkbox state change animation. 47/45547/1
authorSubhransu Mohanty <sub.mohanty@samsung.com>
Wed, 15 Jul 2015 00:21:40 +0000 (09:21 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Fri, 7 Aug 2015 08:54:45 +0000 (17:54 +0900)
Change-Id: I7919d42444cd0c5d911877f628080d646a0a179a

src/lib/tizen_vector.c

index ff9550d..c0fb9b8 100644 (file)
@@ -227,7 +227,6 @@ typedef struct check_favorite_s
    Elm_Transit *transit;
    Evas_Object *obj;
    Eina_Bool init : 1;
-   Eina_Bool animate;
 } check_favorite;
 
 static void
@@ -334,9 +333,9 @@ transit_check_favorite_op(Elm_Transit_Effect *effect,
 }
 
 static void
-check_favorite_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                         const char *emission EINA_UNUSED,
-                         const char *source EINA_UNUSED)
+check_favorite_action_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                                const char *emission EINA_UNUSED,
+                                const char *source EINA_UNUSED)
 {
    check_favorite *vd = data;
    if (!source) return;
@@ -344,13 +343,6 @@ check_favorite_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
 
    check_favorite_init(vd);
 
-   if (!vd->animate)
-     {
-        _check_favorite(vd, 1.0);
-        return;
-     }
-
-   vd->animate = EINA_FALSE;
    Eina_Bool check = elm_check_state_get(obj);
 
    //Circle Effect
@@ -374,11 +366,17 @@ check_favorite_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
 }
 
 static void
-check_favorite_changed_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                         void *event_info EINA_UNUSED)
+check_favorite_state_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                               const char *emission EINA_UNUSED,
+                               const char *source EINA_UNUSED)
 {
    check_favorite *vd = data;
-   vd->animate = EINA_TRUE;
+   if (!source) return;
+   if (strcmp(source, "tizen_vg")) return;
+
+   check_favorite_init(vd);
+
+   _check_favorite(vd, 1.0);
 }
 
 static void
@@ -388,8 +386,8 @@ check_favorite_del_cb(void *data, Evas *e EINA_UNUSED,
 {
    check_favorite *vd = data;
    evas_object_data_set(vd->obj, vg_key, NULL);
-   elm_object_signal_callback_del(vd->obj, "elm,check,action,toggle", "tizen_vg", check_favorite_toggle_cb);
-   evas_object_smart_callback_del(vd->obj, "changed", check_favorite_changed_cb);
+   elm_object_signal_callback_del(vd->obj, "elm,check,state,toggle", "tizen_vg", check_favorite_state_toggle_cb);
+   elm_object_signal_callback_del(vd->obj, "elm,check,action,toggle", "tizen_vg", check_favorite_action_toggle_cb);
    elm_transit_del(vd->transit);
    evas_object_del(vd->vg[1]);
    free(vd);
@@ -405,8 +403,8 @@ tizen_vg_check_favorite_set(Elm_Check *obj)
         return;
      }
    evas_object_data_set(obj, vg_key, vd);
-   elm_object_signal_callback_add(obj, "elm,check,action,toggle", "tizen_vg", check_favorite_toggle_cb, vd);
-   evas_object_smart_callback_add(obj, "changed", check_favorite_changed_cb, vd);
+   elm_object_signal_callback_add(obj, "elm,check,state,toggle", "tizen_vg", check_favorite_state_toggle_cb, vd);
+   elm_object_signal_callback_add(obj, "elm,check,action,toggle", "tizen_vg", check_favorite_action_toggle_cb, vd);
    vd->obj = obj;
 
    //Outline Star
@@ -435,7 +433,6 @@ typedef struct check_onoff_s
    Elm_Transit *transit[3];  //0: circle, 1: line, 2: overlapped circle
    Evas_Object *obj;
    Eina_Bool init : 1;
-   Eina_Bool animate;
 } check_onoff;
 
 
@@ -570,9 +567,9 @@ transit_check_onoff_sizing_del_cb(void *data,
 }
 
 static void
-check_onoff_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                      const char *emission EINA_UNUSED,
-                      const char *source EINA_UNUSED)
+check_onoff_action_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                             const char *emission EINA_UNUSED,
+                             const char *source EINA_UNUSED)
 {
    check_onoff *vd = data;
    if (!source) return;
@@ -582,15 +579,6 @@ check_onoff_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
 
    Eina_Bool check = elm_check_state_get(obj);
 
-   if (!vd->animate)
-     {
-        _check_onoff_circle(vd, 1.0);
-        _check_onoff_line(vd, 1.0);
-        _check_onoff_sizing(vd, 1.0);
-        return;
-     }
-
-   vd->animate = EINA_FALSE;
    //Circle Effect
    elm_transit_del(vd->transit[0]);
    vd->transit[0] = elm_transit_add();
@@ -645,11 +633,19 @@ check_onoff_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
 }
 
 static void
-check_onoff_changed_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                       void *event_info EINA_UNUSED)
+check_onoff_state_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                            const char *emission EINA_UNUSED,
+                            const char *source EINA_UNUSED)
 {
    check_onoff *vd = data;
-   vd->animate = EINA_TRUE;
+   if (!source) return;
+   if (strcmp(source, "tizen_vg")) return;
+
+   check_onoff_init(vd);
+
+   _check_onoff_circle(vd, 1.0);
+   _check_onoff_line(vd, 1.0);
+   _check_onoff_sizing(vd, 1.0);
 }
 
 static void
@@ -658,8 +654,8 @@ check_onoff_del_cb(void *data, Evas *e EINA_UNUSED,
 {
    check_onoff *vd = data;
    evas_object_data_set(vd->obj, vg_key, NULL);
-   elm_object_signal_callback_del(vd->obj, "elm,check,action,toggle", "tizen_vg", check_onoff_toggle_cb);
-   evas_object_smart_callback_del(vd->obj, "changed", check_onoff_changed_cb);
+   elm_object_signal_callback_del(vd->obj, "elm,check,state,toggle", "tizen_vg", check_onoff_state_toggle_cb);
+   elm_object_signal_callback_del(vd->obj, "elm,check,action,toggle", "tizen_vg", check_onoff_action_toggle_cb);
    elm_transit_del(vd->transit[0]);
    elm_transit_del(vd->transit[1]);
    elm_transit_del(vd->transit[2]);
@@ -751,8 +747,9 @@ tizen_vg_check_onoff_set(Elm_Check *obj)
         return;
      }
    evas_object_data_set(obj, vg_key, vd);
-   elm_object_signal_callback_add(obj, "elm,check,action,toggle", "tizen_vg", check_onoff_toggle_cb, vd);
-   evas_object_smart_callback_add(obj, "changed", check_onoff_changed_cb, vd);
+
+   elm_object_signal_callback_add(obj, "elm,check,state,toggle", "tizen_vg", check_onoff_state_toggle_cb, vd);
+   elm_object_signal_callback_add(obj, "elm,check,action,toggle", "tizen_vg", check_onoff_action_toggle_cb, vd);
 
    vd->obj = obj;
 
@@ -792,7 +789,6 @@ typedef struct check_default_s
    double right_move_to[2];
    double right_line_to[2];
    Eina_Bool init : 1;
-   Eina_Bool animate;
 } check_default;
 
 static void
@@ -1005,9 +1001,9 @@ transit_check_default_line_op(Elm_Transit_Effect *effect,
 }
 
 static void
-check_default_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                         const char *emission EINA_UNUSED,
-                         const char *source EINA_UNUSED)
+check_default_action_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                               const char *emission EINA_UNUSED,
+                               const char *source EINA_UNUSED)
 {
    check_default *vd = data;
    if (!source) return;
@@ -1015,14 +1011,6 @@ check_default_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
 
    check_default_init(vd);
 
-   if (!vd->animate)
-     {
-        _check_default_bg_color(vd, 1.0);
-        _check_default_bg_scale(vd, 1.0);
-        _check_default_line(vd, 1.0);
-        return;
-     }
-   vd->animate = EINA_FALSE;
    Eina_Bool check = elm_check_state_get(obj);
 
    //BG Color Effect
@@ -1081,11 +1069,19 @@ check_default_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
 }
 
 static void
-check_default_changed_cb(void *data, Evas_Object *obj EINA_UNUSED,
-                         void *event_info EINA_UNUSED)
+check_default_state_toggle_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                              const char *emission EINA_UNUSED,
+                              const char *source EINA_UNUSED)
 {
    check_default *vd = data;
-   vd->animate = EINA_TRUE;
+   if (!source) return;
+   if (strcmp(source, "tizen_vg")) return;
+
+   check_default_init(vd);
+
+   _check_default_bg_color(vd, 1.0);
+   _check_default_bg_scale(vd, 1.0);
+   _check_default_line(vd, 1.0);
 }
 
 static void
@@ -1094,8 +1090,8 @@ check_default_del_cb(void *data, Evas *e EINA_UNUSED,
 {
    check_default *vd = data;
    evas_object_data_set(vd->obj, vg_key, NULL);
-   elm_object_signal_callback_del(vd->obj, "elm,check,action,toggle", "tizen_vg", check_default_toggle_cb);
-   evas_object_smart_callback_del(vd->obj, "changed", check_default_changed_cb);
+   elm_object_signal_callback_del(vd->obj, "elm,check,state,toggle", "tizen_vg", check_default_state_toggle_cb);
+   elm_object_signal_callback_del(vd->obj, "elm,check,action,toggle", "tizen_vg", check_default_action_toggle_cb);
    elm_transit_del(vd->transit[0]);
    elm_transit_del(vd->transit[1]);
    elm_transit_del(vd->transit[2]);
@@ -1114,8 +1110,8 @@ tizen_vg_check_default_set(Elm_Check *obj)
      }
    evas_object_data_set(obj, vg_key, vd);
 
-   elm_object_signal_callback_add(obj, "elm,check,action,toggle", "tizen_vg", check_default_toggle_cb, vd);
-   evas_object_smart_callback_add(obj, "changed", check_default_changed_cb, vd);
+   elm_object_signal_callback_add(obj, "elm,check,state,toggle", "tizen_vg", check_default_state_toggle_cb, vd);
+   elm_object_signal_callback_add(obj, "elm,check,action,toggle", "tizen_vg", check_default_action_toggle_cb, vd);
 
    vd->obj = obj;