elementary: naviframe uses widget item for atspi

Application developer could rewrite accessible information of naviframe item.
But view object - VIEW(item) - is not accessible from application side.
So the accessible information should be set to widget item.
This commit is contained in:
Shinwoo Kim 2016-12-11 19:38:00 +09:00
parent f4306d654d
commit ba03d68117
2 changed files with 14 additions and 4 deletions

View File

@ -460,7 +460,7 @@ _access_obj_process(Elm_Naviframe_Item_Data *it, Eina_Bool is_access)
}
EOLIAN static void
_elm_naviframe_item_elm_widget_item_part_text_set(Eo *eo_it EINA_UNUSED,
_elm_naviframe_item_elm_widget_item_part_text_set(Eo *eo_it,
Elm_Naviframe_Item_Data *it,
const char *part,
const char *label)
@ -526,7 +526,7 @@ _elm_naviframe_item_elm_widget_item_part_text_set(Eo *eo_it EINA_UNUSED,
if (nit->title_label) strncat(buf, " ", 1);
strncat(buf, nit->subtitle_label, sizeof(buf) - strlen(buf) - 2);
}
elm_interface_atspi_accessible_name_set(VIEW(it), buf);
elm_interface_atspi_accessible_name_set(eo_it, buf);
elm_layout_sizing_eval(WIDGET(nit));
}
@ -1224,6 +1224,8 @@ _item_new(Evas_Object *obj,
ELM_NAVIFRAME_DATA_GET(obj, sd);
eo_item = efl_add(ELM_NAVIFRAME_ITEM_CLASS, obj);
elm_interface_atspi_accessible_role_set(eo_item, ELM_ATSPI_ROLE_PAGE_TAB);
elm_interface_atspi_accessible_name_set(eo_item, (char*)title_label);
if (!eo_item)
{
@ -1235,8 +1237,6 @@ _item_new(Evas_Object *obj,
//item base layout
VIEW(it) = elm_layout_add(obj);
elm_interface_atspi_accessible_role_set(VIEW(it), ELM_ATSPI_ROLE_PAGE_TAB);
elm_interface_atspi_accessible_name_set(VIEW(it), (char*)title_label);
evas_object_smart_member_add(VIEW(it), obj);
if (!elm_widget_sub_object_add(obj, VIEW(it)))
@ -1986,6 +1986,15 @@ _elm_naviframe_item_pop_cb_set(Eo *eo_item EINA_UNUSED,
nit->pop_data = data;
}
EOLIAN static Eina_List*
_elm_naviframe_item_elm_interface_atspi_accessible_children_get(Eo *eo_item EINA_UNUSED, Elm_Naviframe_Item_Data *nit)
{
Eina_List *ret = NULL;
ret = eina_list_append(ret, VIEW(nit));
return ret;
}
EOLIAN static void
_elm_naviframe_prev_btn_auto_pushed_set(Eo *obj EINA_UNUSED, Elm_Naviframe_Data *sd, Eina_Bool auto_pushed)
{

View File

@ -84,5 +84,6 @@ class Elm.Naviframe.Item(Elm.Widget.Item)
Elm.Widget.Item.part_content.get;
Elm.Widget.Item.part_content.set;
Elm.Widget.Item.part_content_unset;
Elm.Interface.Atspi_Accessible.children.get;
}
}