{NULL, NULL}
};
+static Eina_Bool
+_update_focused_it(Evas_Object *obj, int focused_it);
+
+static void
+_update_unfocused_it(Evas_Object *obj, int focused_it);
+
+static void
+_day_selected(void *data,
+ Evas_Object *obj EINA_UNUSED,
+ const char *emission EINA_UNUSED,
+ const char *source);
+
/* Originally, the button functionalities of month, year spinners were
* implemented by its own edc. There was a bunch of callback functions
* for handle the signals. The following functions are the old callback
}
//
+static void _date_access_activated(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
+{
+ int part_num = (int)data;
+ char source[3];
+
+ snprintf(source, sizeof(source), "%i", part_num);
+ _day_selected(efl_parent_get(obj), NULL, "elm,action,selected", source);
+}
+
//TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
//register/unregister access objects accordingly.
static void
snprintf(day_s, sizeof(day_s), "%i", day++);
elm_access_info_set(ao, ELM_ACCESS_INFO, (const char*)day_s);
elm_access_info_cb_set(ao, ELM_ACCESS_CONTEXT_INFO, _localized_access_info_cb, E_("calendar item"));
+ evas_object_smart_callback_add(ao, "access,activated", _date_access_activated, (void *)ii);
}
}
}
}
static void
-_inc_dec_button_clicked_cb(void *data, const Efl_Event *event EINA_UNUSED)
+_inc_dec_button_clicked_cb(void *data, const Efl_Event *event)
{
ELM_CALENDAR_DATA_GET(data, sd);
+ if (_elm_atspi_enabled())
+ {
+ _inc_dec_button_pressed_cb(data, event);
+ _inc_dec_button_unpressed_cb(data, event);
+
+ if (efl_ui_focus_object_focus_get(data))
+ {
+ _update_focused_it(data, sd->selected_it);
+ }
+ else
+ {
+ _update_unfocused_it(data, sd->focused_it);
+ }
+ }
+
sd->interval = sd->first_interval;
ELM_SAFE_FREE(sd->spin_timer, ecore_timer_del);