change spinner/datetime
authorHyukSoon Choi <hs619.choi@samsung.com>
Wed, 1 Apr 2020 07:20:13 +0000 (16:20 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Fri, 17 Apr 2020 23:02:29 +0000 (08:02 +0900)
- ELM_DATETIME_XXX -> Efl_Ui_Clock_XXX
- change signal name elm,action,entry,toggle -> elm,action,genlist,toggle
- add callback : "spinner,aligned,item,change"

Change-Id: I29f68f875a5d178a97db93d976570d7ab0bcaf64
Signed-off-by: HyukSoon Choi <hs619.choi@samsung.com>
src/wearable/circle/efl_extension_circle_object_datetime.c
src/wearable/circle/efl_extension_circle_object_spinner.c

index 78eb7e26d0c033c6129c31b992c26c902fae306d..e969b492601b59693aa20442beda9ef7144b27d7 100755 (executable)
@@ -109,7 +109,7 @@ _enable_rotary_event(Evas_Object *datetime, Eext_Circle_Object *circle_obj)
    const char *style = elm_object_style_get(datetime);
    //
 
-   for (idx = ELM_DATETIME_YEAR; idx <= ELM_DATETIME_AMPM; idx++)
+   for (idx = EFL_UI_CLOCK_TYPE_YEAR; idx <= EFL_UI_CLOCK_TYPE_AMPM; idx++)
      {
         snprintf(buf, sizeof(buf), "field%d", idx);
         Evas_Object *field_obj = elm_object_part_content_get(datetime, buf);
@@ -117,19 +117,19 @@ _enable_rotary_event(Evas_Object *datetime, Eext_Circle_Object *circle_obj)
           {
              eext_circle_object_spinner_add(field_obj, circle_obj->surface);
              //ONEUI1.5(21Jun2019): Avoid duplicate ampm object creation
-             field_type = (Elm_Datetime_Field_Type)evas_object_data_get(field_obj, "_field_type");
-             if (field_type == ELM_DATETIME_AMPM)
+             field_type = (Efl_Ui_Clock_Type)evas_object_data_get(field_obj, "_field_type");
+             if (field_type == EFL_UI_CLOCK_TYPE_AMPM)
                 widget_data->ampm_created = EINA_TRUE;
              //
              //ONEUI1.5(02Jul2019): Set activate front spinner when datepicker set activate
              if (!strcmp(style, "timepicker/circle"))
                {
-                  if (idx == ELM_DATETIME_HOUR)
+                  if (idx == EFL_UI_CLOCK_TYPE_HOUR)
                     widget_data->current_activated_obj = field_obj;
                }
              else
                {
-                  if (idx == ELM_DATETIME_YEAR)
+                  if (idx == EFL_UI_CLOCK_TYPE_YEAR)
                     widget_data->current_activated_obj = field_obj;
                }
              //
@@ -149,7 +149,7 @@ _eext_circle_object_datetime_timelayout_changed_cb(void *data, Evas_Object *obj,
    int idx;
    char buf[DATETIME_FIELD_NAME_BUF_MAX];
    Evas_Object *field_obj = NULL;
-   Elm_Datetime_Field_Type field_type;
+   Efl_Ui_Clock_Type field_type;
    Eext_Circle_Object *circle_obj = (Eext_Circle_Object *)data;
    //ONEUI1.5(21Jun2019): Avoid duplicate ampm object creation
    EEXT_CIRCLE_OBJECT_DATETIME_DATA_GET(circle_obj, widget_data) return;
@@ -157,13 +157,13 @@ _eext_circle_object_datetime_timelayout_changed_cb(void *data, Evas_Object *obj,
    if (widget_data->ampm_created) return;
    //
 
-   for (idx = ELM_DATETIME_YEAR; idx <= ELM_DATETIME_AMPM; idx++)
+   for (idx = EFL_UI_CLOCK_TYPE_YEAR; idx <= EFL_UI_CLOCK_TYPE_AMPM; idx++)
      {
         snprintf(buf, sizeof(buf), "field%d", idx);
         field_obj = elm_object_part_content_get(obj, buf);
         if (!field_obj) continue;
-        field_type = (Elm_Datetime_Field_Type)evas_object_data_get(field_obj, "_field_type");
-        if (field_type == ELM_DATETIME_AMPM) break;
+        field_type = (Efl_Ui_Clock_Type)evas_object_data_get(field_obj, "_field_type");
+        if (field_type == EFL_UI_CLOCK_TYPE_AMPM) break;
      }
    if (field_obj)
      {
@@ -185,7 +185,7 @@ _eext_circle_object_datetime_stye_changed_cb(void *data, Evas_Object *obj, void
    char buf[DATETIME_FIELD_NAME_BUF_MAX];
    const char *style = elm_object_style_get(circle_obj->widget_object);
 
-   for (idx = ELM_DATETIME_YEAR; idx <= ELM_DATETIME_HOUR; idx++)
+   for (idx = EFL_UI_CLOCK_TYPE_YEAR; idx <= EFL_UI_CLOCK_TYPE_HOUR; idx++)
      {
         snprintf(buf, sizeof(buf), "field%d", idx);
         Evas_Object *field_obj = elm_object_part_content_get(obj, buf);
@@ -193,12 +193,12 @@ _eext_circle_object_datetime_stye_changed_cb(void *data, Evas_Object *obj, void
           {
              if (!strcmp(style, "timepicker/circle"))
                {
-                  if (idx == ELM_DATETIME_HOUR)
+                  if (idx == EFL_UI_CLOCK_TYPE_HOUR)
                     widget_data->current_activated_obj = field_obj;
                }
              else
                {
-                  if (idx == ELM_DATETIME_YEAR)
+                  if (idx == EFL_UI_CLOCK_TYPE_YEAR)
                     widget_data->current_activated_obj = field_obj;
                }
           }
index 67ea7bd54f57a37476375f9935c814388efdd57a..e58ddbbb7a522420b120ba264a37f4382b4bd6ac 100644 (file)
@@ -31,6 +31,13 @@ static const char SIGNAL_ACTIVATED[] = "rotary,activated";
 static const char SIGNAL_DEACTIVATED[] = "rotary,deactivated";
 extern void *elm_object_accessibility_currently_highlighted_get(void);
 
+static void
+_spinner_aligned_item_change_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
+{
+   Evas_Object *spinner = data;
+   elm_layout_signal_emit(spinner, "elm,action,haptic,value_changed", "eext");
+}
+
 //ONEUI1.5(04Jul2019): Apply blink effect
 static void
 _start_blink_effect(Evas_Object *obj)
@@ -150,6 +157,7 @@ _spinner_genlist_show_cb(void *data, Evas_Object *obj, void *event_info EINA_UNU
         //ONEUI1.5(14Mar2019): Scrolling should be enabled after current value item is aligned
         evas_object_smart_callback_add(widget_data->genlist, "aligned,item,detected", _spinner_genlist_aligned_item_detected_cb, widget_data);
         //
+        evas_object_smart_callback_add(widget_data->genlist, "spinner,aligned,item,change", _spinner_aligned_item_change_cb, obj);
         evas_object_smart_callback_add(widget_data->circle_genlist, SIGNAL_ACTIVATED, _eext_circle_object_spinner_genlist_activated_cb, widget_data->circle_obj);
         evas_object_smart_callback_add(widget_data->circle_genlist, SIGNAL_DEACTIVATED, _eext_circle_object_spinner_genlist_deactivated_cb, widget_data->circle_obj);
      }
@@ -220,7 +228,7 @@ _rotary_changed_cb(void *data, Evas_Object *obj, Eext_Rotary_Event_Info *info)
         _update_spinner_value(circle_obj->widget_object, info->direction);
         //
         widget_data->genlist_visible = EINA_TRUE;
-        elm_layout_signal_emit(circle_obj->widget_object, "elm,action,entry,toggle", "elm");
+        elm_layout_signal_emit(circle_obj->widget_object, "elm,action,genlist,toggle", "elm");
      }
    return EINA_TRUE;
 }
@@ -241,6 +249,12 @@ _eext_circle_object_spinner_del_cb(Eext_Circle_Object *obj)
         evas_object_smart_callback_del_full(widget_data->circle_genlist, SIGNAL_ACTIVATED, _eext_circle_object_spinner_genlist_activated_cb, obj);
         evas_object_smart_callback_del_full(widget_data->circle_genlist, SIGNAL_DEACTIVATED, _eext_circle_object_spinner_genlist_deactivated_cb, obj);
      }
+   if (widget_data->genlist)
+     {
+        evas_object_smart_callback_del_full(widget_data->genlist, "hide", _spinner_genlist_hide_cb, widget_data);
+        evas_object_smart_callback_del_full(widget_data->genlist, "aligned,item,detected", _spinner_genlist_aligned_item_detected_cb, widget_data);
+        evas_object_smart_callback_del_full(widget_data->genlist, "spinner,aligned,item,change", _spinner_aligned_item_change_cb, obj);
+     }
 
    if (obj->widget_data)
      {
@@ -271,7 +285,7 @@ _eext_circle_object_spinner_init(Eext_Circle_Object *obj, Evas_Object *spinner)
    data->genlist_visible = EINA_FALSE;
    data->spinner_activated = EINA_FALSE;
    data->genlist_activated = EINA_FALSE;
-   evas_object_smart_callback_add(spinner, "genlist,show", _spinner_genlist_show_cb, data);
+   evas_object_smart_callback_add(spinner, "list,show", _spinner_genlist_show_cb, data);
 
    eext_rotary_object_event_callback_add(obj->widget_object, _rotary_changed_cb, obj);
    eext_rotary_object_event_callback_add(obj->main_obj, _rotary_changed_cb, obj);