From: HyukSoon Choi Date: Wed, 1 Apr 2020 07:20:13 +0000 (+0900) Subject: change spinner/datetime X-Git-Tag: submit/tizen/20200417.234115~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff12da990fa9be67cbfff201c2c85cb7575179cf;p=platform%2Fcore%2Fuifw%2Fefl-ext.git change spinner/datetime - 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 --- diff --git a/src/wearable/circle/efl_extension_circle_object_datetime.c b/src/wearable/circle/efl_extension_circle_object_datetime.c index 78eb7e2..e969b49 100755 --- a/src/wearable/circle/efl_extension_circle_object_datetime.c +++ b/src/wearable/circle/efl_extension_circle_object_datetime.c @@ -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; } } diff --git a/src/wearable/circle/efl_extension_circle_object_spinner.c b/src/wearable/circle/efl_extension_circle_object_spinner.c index 67ea7bd..e58ddbb 100644 --- a/src/wearable/circle/efl_extension_circle_object_spinner.c +++ b/src/wearable/circle/efl_extension_circle_object_spinner.c @@ -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);