From: Jaehyun Cho Date: Thu, 4 Apr 2019 04:38:28 +0000 (+0900) Subject: datatime: fix to support non legacy widget Efl.Ui.Datepicker X-Git-Tag: submit/tizen/20190424.060632~3^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=46c7ea513bc03f09f920e423c30f136c3d60e5a9;p=platform%2Fcore%2Fuifw%2Fefl-ext.git datatime: fix to support non legacy widget Efl.Ui.Datepicker The non legacy widget class name is fixed to "Efl.Ui.Datepicker". The style "datetime/circle" is not set for the non legacy widget. Change-Id: Id19dc791fa14b40b12ed74e783f2d22fcaca829c --- diff --git a/src/wearable/circle/efl_extension_circle_object_datetime.c b/src/wearable/circle/efl_extension_circle_object_datetime.c index 8cac91e..6089b56 100755 --- a/src/wearable/circle/efl_extension_circle_object_datetime.c +++ b/src/wearable/circle/efl_extension_circle_object_datetime.c @@ -327,14 +327,14 @@ _date_update(Eext_Circle_Object *obj, Eina_Bool value_up) int year, month, day; year = month = day = 0; - if (!strcmp(efl_class_name_get(datetime), "Datepicker")) + if (efl_isa(datetime, EFL_UI_LEGACY_INTERFACE)) { - efl_ui_datepicker_date_get(datetime, &year, &month, &day); + elm_datetime_value_get(datetime, &t); + elm_datetime_field_limit_get(datetime, data->current_type, &min, &max); } else { - elm_datetime_value_get(datetime, &t); - elm_datetime_field_limit_get(datetime, data->current_type, &min, &max); + efl_ui_datepicker_date_get(datetime, &year, &month, &day); } //C# FIXME: Implements other types @@ -342,13 +342,7 @@ _date_update(Eext_Circle_Object *obj, Eina_Bool value_up) switch (data->current_type) { case ELM_DATETIME_YEAR: - if (!strcmp(efl_class_name_get(datetime), "Datepicker")) - { - if (value_up) year += 1; - else year -= 1; - picker_angle = (double)(picker_mark_angle_year[(int)(year) % PICKER_MARK_PARTITION_COUNT_YEAR]); - } - else + if (efl_isa(datetime, EFL_UI_LEGACY_INTERFACE)) { if (value_up) t.tm_year += 1; else t.tm_year -= 1; @@ -357,6 +351,12 @@ _date_update(Eext_Circle_Object *obj, Eina_Bool value_up) else if (t.tm_year > max) t.tm_year = min; picker_angle = (double)(picker_mark_angle_year[(int)((t.tm_year + 1900) % PICKER_MARK_PARTITION_COUNT_YEAR)]); + } + else + { + if (value_up) year += 1; + else year -= 1; + picker_angle = (double)(picker_mark_angle_year[(int)(year) % PICKER_MARK_PARTITION_COUNT_YEAR]); } _eext_circle_object_datetime_picker_mark_angle_set(obj, picker_angle, EINA_TRUE); @@ -432,13 +432,13 @@ _date_update(Eext_Circle_Object *obj, Eina_Bool value_up) break; } - if (!strcmp(efl_class_name_get(datetime), "Datepicker")) + if (efl_isa(datetime, EFL_UI_LEGACY_INTERFACE)) { - efl_ui_datepicker_date_set(datetime, year, month, day); + elm_datetime_value_set(datetime, &t); } else { - elm_datetime_value_set(datetime, &t); + efl_ui_datepicker_date_set(datetime, year, month, day); } } @@ -828,9 +828,18 @@ _eext_circle_object_datetime_init(Eext_Circle_Object *obj, Evas_Object *datetime _eext_circle_object_item_angle_set(item, mark_radius); _eext_circle_object_item_append(obj, item); - elm_object_style_set(datetime, "datepicker/circle"); + if (efl_isa(datetime, EFL_UI_LEGACY_INTERFACE)) + { + elm_object_style_set(datetime, "datepicker/circle"); - if (!strcmp(efl_class_name_get(datetime), "Datepicker")) + evas_object_smart_callback_add(elm_object_part_content_get(datetime, "field0"), "changed", + _eext_circle_object_datetime_radio_changed_cb, obj); + evas_object_smart_callback_add(elm_object_part_content_get(datetime, "field1"), "changed", + _eext_circle_object_datetime_radio_changed_cb, obj); + evas_object_smart_callback_add(elm_object_part_content_get(datetime, "field2"), "changed", + _eext_circle_object_datetime_radio_changed_cb, obj); + } + else { Evas_Object *date_field0 = efl_content_get(efl_part(datetime, "efl.field0")); add_date_type(date_field0); @@ -839,15 +848,6 @@ _eext_circle_object_datetime_init(Eext_Circle_Object *obj, Evas_Object *datetime Evas_Object *date_field2 = efl_content_get(efl_part(datetime, "efl.field2")); add_date_type(date_field2); } - else - { - evas_object_smart_callback_add(elm_object_part_content_get(datetime, "field0"), "changed", - _eext_circle_object_datetime_radio_changed_cb, obj); - evas_object_smart_callback_add(elm_object_part_content_get(datetime, "field1"), "changed", - _eext_circle_object_datetime_radio_changed_cb, obj); - evas_object_smart_callback_add(elm_object_part_content_get(datetime, "field2"), "changed", - _eext_circle_object_datetime_radio_changed_cb, obj); - } for (idx = ELM_DATETIME_HOUR; idx <= ELM_DATETIME_AMPM; idx++) {