wearable/rotary selector: Add item deleted and reordered events. 81/203881/1
authorTaehyub Kim <taehyub.kim@samsung.com>
Thu, 19 Apr 2018 05:47:38 +0000 (14:47 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Thu, 18 Apr 2019 05:40:32 +0000 (14:40 +0900)
If item is deleted or reordered in rotary selector edit mode,
event should happen so that apps can take cover scenarios.

Change-Id: I0f76e15cc48ea85ac33fca143511cd4c3d51a92b

inc/wearable/efl_extension_rotary_selector.h
src/wearable/efl_extension_rotary_selector.c

index 8ea60b021b9d1df9c9861e2e71be9b9fa1044bcf..6e985609a82e80053f216578c52f8ded745fa5e5 100644 (file)
@@ -30,7 +30,9 @@ extern "C" {
  * @details This widget emits the following signals.
  *
  *          @li "item,selected": When the user selected an item.
- *          @li "item,clicked": When selecting again the already selected item or selecting a selector.
+ *          @li "item,clicked": When selecting again the alredy selected item or selecting a selector.
+ *          @li "item,deleted": When the user deleted an item.
+ *          @li "item,reordered": When the user reordered an item.
  *
  * @{
  */
index 054883a0bcae3e7ed784f7520ea70cd8b0ffaaee..0804ffcec8d3a71af70b91f847c5715af18a2a32 100644 (file)
@@ -377,6 +377,7 @@ _del_item_timer_cb(void *data)
    Eext_Rotary_Selector_Data *rsd = (Eext_Rotary_Selector_Data *)data;
 
    rsd->item_del_timer = NULL;
+   evas_object_smart_callback_call(rsd->rotary_selector, "item,deleted", (void*)rsd->del_item);
    if (rsd->del_item)
      evas_object_del(rsd->del_item->base.obj);
    rsd->del_item_move_animator = ecore_animator_add(_del_item_move_animator_cb, rsd);
@@ -801,7 +802,11 @@ static void
 _drag_done_cb(void *data, Evas_Object *obj)
 {
    Eext_Rotary_Selector_Data *rsd = data;
-   if (rsd->drag_done) return;
+   if (rsd->drag_done)
+     {
+        evas_object_smart_callback_call(rsd->rotary_selector, "item,reordered", (void*)rsd->drag_item);
+        return;
+     }
    //there was no dnd pos, leave, done at drop side
    //add back item
    if (rsd->drag_item)