summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinwoo Kim <cinoo.kim@samsung.com>2017-08-01 19:52:38 +0900
committerShinwoo Kim <cinoo.kim@samsung.com>2017-08-01 19:52:38 +0900
commit391a777c0164c118e5b7de846f9ad8835f50794a (patch)
treebcd403c8ddc880f5ed2c1ef6cb46eeee09119f58
parentfd52344b0312b5309561f40a49b971bda6f9e42d (diff)
downloadefl-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.c17
-rw-r--r--src/lib/elementary/elm_access.eo1
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; }
}
}