forked from enlightenment/efl
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.
This commit is contained in:
parent
fd52344b03
commit
391a777c01
|
@ -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 \
|
||||
|
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue