elm: Fixed _accessible_set_parent for gengrid items
authorPatryk Kaczmarek <patryk.k@samsung.com>
Wed, 22 Nov 2017 11:39:49 +0000 (12:39 +0100)
committerJiyoun Park <jy0703.park@samsung.com>
Thu, 21 Dec 2017 07:52:00 +0000 (16:52 +0900)
original patch: 12ec884f611d66393f6ec57172bf68b202e9a919

@tizen_fix

Change-Id: I0bbb893c6f7ca9cbd4b797595530daf32bd79cdb

src/lib/elementary/elm_gengrid.c
src/lib/elementary/elm_gengrid_item.eo

index 0b5aa8b..d3db1b1 100644 (file)
@@ -5771,6 +5771,32 @@ _elm_gengrid_item_efl_ui_focus_object_prepare_logical(Eo *obj, Elm_Gen_Item *pd)
    efl_ui_focus_object_prepare_logical(efl_super(obj, ELM_GENGRID_ITEM_CLASS));
 }
 
+//TIZEN_ONLY(20171122) Fixed _accessible_set_parent for gengrid items
+EOLIAN Eina_List*
+_elm_gengrid_item_efl_access_children_get(Eo *eo_it EINA_UNUSED, Elm_Gen_Item *it)
+{
+   Eina_List *ret = NULL;
+   if (VIEW(it))
+     {
+        Eina_List *parts;
+        const char *key;
+        parts = elm_widget_stringlist_get(edje_object_data_get(VIEW(it), "contents"));
+
+        EINA_LIST_FREE(parts, key)
+          {
+             Evas_Object *part;
+             part = edje_object_part_swallow_get(VIEW(it), key);
+             if (part && efl_isa(part, EFL_ACCESS_MIXIN))
+               {
+                  ret = eina_list_append(ret, part);
+                  efl_access_parent_set(part, eo_it);
+               }
+          }
+     }
+   return ret;
+}
+//
+
 /* Standard widget overrides */
 
 ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_gengrid, Elm_Gengrid_Data)
index efc308b..3ecc7e4 100644 (file)
@@ -260,5 +260,8 @@ class Elm.Gengrid.Item(Elm.Widget.Item.Static_Focus, Efl.Ui.Focus.Object)
            Efl.Access.Component.highlight_grab;
            Efl.Access.Component.highlight_clear;
            //
+           //TIZEN_ONLY(20171122) Fixed _accessible_set_parent for gengrid items
+           Efl.Access.children { get; }
+           //
       }
 }