diff options
author | Shinwoo Kim <cinoo.kim@samsung.com> | 2017-08-01 19:52:38 +0900 |
---|---|---|
committer | Shinwoo Kim <cinoo.kim@samsung.com> | 2017-08-01 19:52:38 +0900 |
commit | 391a777c0164c118e5b7de846f9ad8835f50794a (patch) | |
tree | bcd403c8ddc880f5ed2c1ef6cb46eeee09119f58 | |
parent | fd52344b0312b5309561f40a49b971bda6f9e42d (diff) | |
download | efl-391a777c0164c118e5b7de846f9ad8835f50794a.tar.gz |
elementary: 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.
-rw-r--r-- | src/lib/elementary/elm_access.c | 17 | ||||
-rw-r--r-- | src/lib/elementary/elm_access.eo | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_access.c b/src/lib/elementary/elm_access.c index 824ae090ca..88d06bed59 100644 --- a/src/lib/elementary/elm_access.c +++ b/src/lib/elementary/elm_access.c @@ -2,6 +2,7 @@ # include "elementary_config.h" #endif +#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED #include <Elementary.h> @@ -1507,6 +1508,22 @@ _elm_access_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSE return &atspi_actions[0]; } +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; + ret = elm_interface_atspi_accessible_state_set_get(efl_super(obj, ELM_ACCESS_CLASS)); + + 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; +} + /* Internal EO APIs and hidden overrides */ #define ELM_ACCESS_EXTRA_OPS \ diff --git a/src/lib/elementary/elm_access.eo b/src/lib/elementary/elm_access.eo index fac266785f..5c8fb31823 100644 --- a/src/lib/elementary/elm_access.eo +++ b/src/lib/elementary/elm_access.eo @@ -10,5 +10,6 @@ class Elm.Access (Elm.Widget, Elm.Interface.Atspi_Widget_Action) Elm.Widget.activate; Elm.Widget.on_focus; Elm.Interface.Atspi_Widget_Action.elm_actions { get; } + Elm.Interface.Atspi_Accessible.state_set { get; } } } |