From: Shinwoo Kim Date: Tue, 1 Aug 2017 10:22:03 +0000 (+0900) Subject: atspi: access overrides Accessible.state_set.get X-Git-Tag: submit/tizen_3.0/20170803.051832~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=edafcba62daaf74fdc64ffc4f7e42a4eaeba036f;p=platform%2Fupstream%2Felementary.git atspi: access overrides Accessible.state_set.get The elm_access a widget makes primitive object accessible. If a primitive object is not visible, then the elm_access should NOT have state VISIBLE and SHOWING. From now the elm_access is checking visibility of primitive object. Change-Id: I27c2f29d3346e03329784872281e4734ec753160 --- diff --git a/src/lib/elm_access.c b/src/lib/elm_access.c index 2c6de2ee4..2d03d448a 100644 --- a/src/lib/elm_access.c +++ b/src/lib/elm_access.c @@ -1495,6 +1495,22 @@ _elm_access_elm_interface_atspi_accessible_description_get(Eo *obj, void *pd EIN return elm_access_info_get(obj, ELM_ACCESS_CONTEXT_INFO); } +EOLIAN static Elm_Atspi_State_Set +_elm_access_elm_interface_atspi_accessible_state_set_get(Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Atspi_State_Set ret; + eo_do_super(obj, ELM_ACCESS_CLASS, ret = elm_interface_atspi_accessible_state_set_get()); + + Elm_Access_Info *info = _elm_access_info_get(obj); + if (info && !evas_object_visible_get(info->part_object)) + { + STATE_TYPE_UNSET(ret, ELM_ATSPI_STATE_VISIBLE); + STATE_TYPE_UNSET(ret, ELM_ATSPI_STATE_SHOWING); + } + + return ret; +} + EOLIAN static Eina_Bool _elm_access_elm_interface_atspi_component_highlight_grab(Eo *obj, void *pd EINA_UNUSED) { diff --git a/src/lib/elm_access.eo b/src/lib/elm_access.eo index 6214acc4c..02a09652a 100644 --- a/src/lib/elm_access.eo +++ b/src/lib/elm_access.eo @@ -10,6 +10,7 @@ eo_prefix: elm_obj_access; Elm.Widget.on_focus; Elm_Interface_Atspi_Accessible.name.get; Elm_Interface_Atspi_Accessible.description.get; + Elm_Interface_Atspi_Accessible.state_set.get; Elm_Interface_Atspi_Component.highlight_grab; Elm_Interface_Atspi_Component.highlight_clear; Elm_Interface_Atspi_Widget_Action.elm_actions.get;