datatime: fix to support non legacy widget Efl.Ui.Datepicker 04/203704/4
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Thu, 4 Apr 2019 04:38:28 +0000 (13:38 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Thu, 18 Apr 2019 02:15:49 +0000 (11:15 +0900)
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

src/wearable/circle/efl_extension_circle_object_datetime.c

index 8cac91e074a1ef3c72d177934ea2c71de5cd0bef..6089b564a03d789fa3c0d7b8e5a1f9a336220527 100755 (executable)
@@ -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++)
      {