elm: access: add API elm_atspi_accessible_can_highlight_set/get
authorShinwoo Kim <cinoo.kim@samsung.com>
Wed, 29 Nov 2017 06:52:17 +0000 (12:22 +0530)
committerJiyoun Park <jy0703.park@samsung.com>
Thu, 21 Dec 2017 10:18:47 +0000 (19:18 +0900)
Change-Id: I419791eb3d34e881a9f82f4fecbc58a67a5a58b3
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
src/lib/elementary/efl_access.c
src/lib/elementary/efl_access.eo
src/lib/elementary/elm_widget.c
src/lib/elementary/elm_widget.eo
src/lib/elementary/elm_widget_item.eo

index 7043b08..a8e4d78 100644 (file)
@@ -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)
 {
index ac31370..2e4f5df 100644 (file)
@@ -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 {
index 452e1ee..5d7d462 100644 (file)
@@ -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)
 {
index 5df2bdd..a306900 100644 (file)
@@ -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; }
index 6eddaec..099b35d 100644 (file)
@@ -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; }