From: Shinwoo Kim Date: Wed, 29 Nov 2017 06:52:17 +0000 (+0530) Subject: elm: access: add API elm_atspi_accessible_can_highlight_set/get X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~867 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aa1484ad4c1fc810d30e9b44ea5ff59a1076e8aa;p=platform%2Fupstream%2Fefl.git elm: access: add API elm_atspi_accessible_can_highlight_set/get Change-Id: I419791eb3d34e881a9f82f4fecbc58a67a5a58b3 Signed-off-by: Shilpa Singh --- diff --git a/src/lib/elementary/efl_access.c b/src/lib/elementary/efl_access.c index 7043b08..a8e4d78 100644 --- a/src/lib/elementary/efl_access.c +++ b/src/lib/elementary/efl_access.c @@ -385,6 +385,23 @@ _efl_access_state_set_get(Eo *obj EINA_UNUSED, Efl_Access_Data *pd EINA_UNUSED) return 0; } +//TIZEN_ONLY(20160726): add API elm_atspi_accessible_can_highlight_set/get +EOLIAN static void +_efl_access_can_highlight_set(Eo *obj EINA_UNUSED, Efl_Access_Data *pd EINA_UNUSED, Eina_Bool can_highlight EINA_UNUSED) +{ + WRN("The %s object does not implement the \"can_highlight_set\" function.", + efl_class_name_get(efl_class_get(obj))); +} + +EOLIAN static Eina_Bool +_efl_access_can_highlight_get(Eo *obj EINA_UNUSED, Efl_Access_Data *pd EINA_UNUSED) +{ + WRN("The %s object does not implement the \"can_highlight_get\" function.", + efl_class_name_get(efl_class_get(obj))); + return EINA_TRUE; +} +// + EOLIAN Efl_Access_Relation_Set _efl_access_relation_set_get(Eo *obj, Efl_Access_Data *pd EINA_UNUSED) { diff --git a/src/lib/elementary/efl_access.eo b/src/lib/elementary/efl_access.eo index ac31370..2e4f5df 100644 --- a/src/lib/elementary/efl_access.eo +++ b/src/lib/elementary/efl_access.eo @@ -403,6 +403,19 @@ mixin Efl.Access (Efl.Interface, Efl.Object) states: Efl.Access.State_Set; [[Accessible state set]] } } + //TIZEN_ONLY(20160726): add API efl_access_can_highlight_set/get + @property can_highlight @protected { + get { + [[Gets highlightable of given widget.]] + } + set { + [[Sets highlightable to given widget.]] + } + values { + can_highlight: bool; [[If \@c true, the object is highlightable]] + } + } + // event_handler_add @class @protected { [[Register accessibility event listener]] params { diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index 452e1ee..5d7d462 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -4134,6 +4134,8 @@ _elm_widget_item_efl_access_state_set_get(Eo *eo_item, Elm_Widget_Item_Data *ite //TIZEN_ONLY(20170717) : expose highlight information on atspi if (item->can_highlight) STATE_TYPE_SET(states, EFL_ACCESS_STATE_HIGHLIGHTABLE); + else + STATE_TYPE_UNSET(states, EFL_ACCESS_STATE_HIGHLIGHTABLE); if (_elm_object_accessibility_currently_highlighted_get() == (void*)item->view) STATE_TYPE_SET(states, EFL_ACCESS_STATE_HIGHLIGHTED); @@ -5600,6 +5602,8 @@ _elm_widget_efl_access_state_set_get(Eo *obj, Elm_Widget_Smart_Data *pd) //TIZEN_ONLY(20170717) : expose highlight information on atspi if (pd->can_highlight) STATE_TYPE_SET(states, EFL_ACCESS_STATE_HIGHLIGHTABLE); + else + STATE_TYPE_UNSET(states, EFL_ACCESS_STATE_HIGHLIGHTABLE); if (_elm_object_accessibility_currently_highlighted_get() == (void*)pd->obj) STATE_TYPE_SET(states, EFL_ACCESS_STATE_HIGHLIGHTED); @@ -5752,6 +5756,32 @@ _elm_widget_item_efl_access_component_highlight_clear(Eo *obj, Elm_Widget_Item_D } // +//TIZEN_ONLY(20160726): add API elm_atspi_accessible_can_highlight_set/get +EOLIAN static void +_elm_widget_efl_access_can_highlight_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd, Eina_Bool can_highlight) +{ + _pd->can_highlight = !!can_highlight; +} + +EOLIAN static Eina_Bool +_elm_widget_efl_access_can_highlight_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd EINA_UNUSED) +{ + return _pd->can_highlight; +} + +EOLIAN static void +_elm_widget_item_efl_access_can_highlight_set(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *_pd, Eina_Bool can_highlight) +{ + _pd->can_highlight = !!can_highlight; +} + +EOLIAN static Eina_Bool +_elm_widget_item_efl_access_can_highlight_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *_pd EINA_UNUSED) +{ + return _pd->can_highlight; +} +// + EOLIAN static double _elm_widget_item_efl_access_component_alpha_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *sd EINA_UNUSED) { diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo index 5df2bdd..a306900 100644 --- a/src/lib/elementary/elm_widget.eo +++ b/src/lib/elementary/elm_widget.eo @@ -612,6 +612,9 @@ abstract Elm.Widget (Efl.Canvas.Group, Efl.Access, Efl.Access.Component.highlight_grab; Efl.Access.Component.highlight_clear; // + //TIZEN_ONLY(20160726): add API elm_atspi_accessible_can_highlight_set/get + Efl.Access.can_highlight { get; set; } + // Efl.Ui.Focus.User.focus_manager { get; } Efl.Ui.Focus.User.focus_parent { get; } Efl.Ui.Focus.Object.focus_geometry { get; } diff --git a/src/lib/elementary/elm_widget_item.eo b/src/lib/elementary/elm_widget_item.eo index 6eddaec..099b35d 100644 --- a/src/lib/elementary/elm_widget_item.eo +++ b/src/lib/elementary/elm_widget_item.eo @@ -542,6 +542,9 @@ class Elm.Widget.Item(Efl.Object, Efl.Access, Efl.Object.destructor; Efl.Access.state_set { get; } Efl.Access.attributes { get; } + //TIZEN_ONLY(20160726): add API elm_atspi_accessible_can_highlight_set/get + Efl.Access.can_highlight { get; set; } + // Efl.Access.Component.extents { get; set; } Efl.Access.Component.alpha { get; } Efl.Access.Component.layer { get; }