static void _accessibility_item_name_set(Eext_Rotary_Selector_Data *rsd, Eext_Rotary_Selector_Item *it);
static void _accessibility_item_chain_end_set(Eext_Rotary_Selector_Data *rsd);
static void _rotary_selector_moreoption_opened_cb(void *data, Evas_Object *obj, void *event_info);
-static void _rotary_selector_moreoption_closed_cb(void *data, Evas_Object *obj, void *event_info);
-void _rotary_selector_from_moreoption_set(Evas_Object *rotary_selector, Eina_Bool from_more_option);
static void _accessibility_item_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info);
static void _rotary_selector_screen_reader_changed(void *data, Evas_Object *obj, void *event_info);
static void _accessibility_rotary_selector_item_relationship_set(Evas_Object* obj, Evas_Object* after_obj);
if (elm_atspi_bridge_utils_is_screen_reader_enabled() && rsd->is_first_rotary_control)
{
rsd->is_first_rotary_control = EINA_FALSE;
- rsd->selected_index = 0;
}
else
{
// accessibility
evas_object_smart_callback_del(rsd->rotary_selector, "atspi,screen,reader,changed", _rotary_selector_screen_reader_changed);
evas_object_smart_callback_del(rsd->rotary_selector, "more,option,opened", _rotary_selector_moreoption_opened_cb);
- evas_object_smart_callback_del(rsd->rotary_selector, "more,option,closed", _rotary_selector_moreoption_closed_cb);
//
if (rsd->item_list)
if (elm_atspi_bridge_utils_is_screen_reader_enabled())
{
evas_object_smart_callback_add(rotary_selector, "more,option,opened", _rotary_selector_moreoption_opened_cb, rsd);
- evas_object_smart_callback_add(rotary_selector, "more,option,closed", _rotary_selector_moreoption_closed_cb, rsd);
- _rotary_selector_from_moreoption_set(rotary_selector, EINA_FALSE);
rsd->is_first_rotary_control = EINA_TRUE;
}
//
_rotary_selector_moreoption_opened_cb(void *data, Evas_Object *obj, void *event_info)
{
if (!elm_atspi_bridge_utils_is_screen_reader_enabled())
- return ;
-
+ return ;
Eext_Rotary_Selector_Data *rsd = NULL;
- Eina_List *l = NULL;
- Eext_Rotary_Selector_Item *item = NULL;
rsd = data;
if (!rsd)
{
return;
}
- EINA_LIST_FOREACH(rsd->item_list, l, item)
- {
- Evas_Object *button = item->base.obj;
- elm_atspi_accessible_can_highlight_set(button, EINA_TRUE);
- }
rsd->is_first_rotary_control = EINA_TRUE;
}
-static void
-_rotary_selector_moreoption_closed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if (!elm_atspi_bridge_utils_is_screen_reader_enabled())
- return ;
-
- Eext_Rotary_Selector_Data *rsd = NULL;
- Eina_List *l = NULL;
- Eext_Rotary_Selector_Item *item = NULL;
- rsd = data;
- if (!rsd)
- {
- ERR("rsd is NULL!!");
- return;
- }
-
-
- EINA_LIST_FOREACH(rsd->item_list, l, item)
- {
- Evas_Object *button = item->base.obj;
- elm_atspi_accessible_can_highlight_set(button, EINA_FALSE);
- }
-}
-void
-_rotary_selector_from_moreoption_set(Evas_Object *rotary_selector, Eina_Bool from_more_option)
-{
- Eext_Rotary_Selector_Data *rsd = _eext_rotary_selector_data_get(rotary_selector);
-
- if (rsd)
- {
- rsd->from_moreoption = from_more_option;
- }
-}
-
static char *
_accessibility_item_name_set_cb(void *data, Evas_Object *obj)
{
if (elm_atspi_bridge_utils_is_screen_reader_enabled())
{
evas_object_smart_callback_add(rsd->rotary_selector, "more,option,opened", _rotary_selector_moreoption_opened_cb, rsd);
- evas_object_smart_callback_add(rsd->rotary_selector, "more,option,closed", _rotary_selector_moreoption_closed_cb, rsd);
EINA_LIST_FOREACH(rsd->item_list, l, item)
{
elm_atspi_accessible_gesture_cb_set(item->base.obj, NULL, NULL);
}
evas_object_smart_callback_del(rsd->rotary_selector, "more,option,opened", _rotary_selector_moreoption_opened_cb);
- evas_object_smart_callback_del(rsd->rotary_selector, "more,option,closed", _rotary_selector_moreoption_closed_cb);
}
}