Merge "Region show on item elements fixed" into tizen
[platform/upstream/elementary.git] / src / lib / elm_gengrid.c
index 3ff311c..e2ce932 100644 (file)
@@ -401,6 +401,14 @@ _item_show_region(void *data)
                   it_xpos = it_xpos - ((vw - sd->item_width) / 2);
                   it_ypos = it_ypos - ((vh - sd->item_height) / 2);
                   break;
+               // @tizen_feature
+               case ELM_GENGRID_ITEM_SCROLLTO_BOTTOM:
+                  eo_do(WIDGET(it), elm_interface_scrollable_content_viewport_geometry_get
+                        (NULL, NULL, &vw, &vh));
+                  it_xpos = it_xpos - vw + sd->item_width;
+                  it_ypos = it_ypos - vh + sd->item_height;
+                  break;
+               ///
                default:
                   vw = sd->item_width;
                   vh = sd->item_height;
@@ -5513,11 +5521,14 @@ _elm_gengrid_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_Ge
 }
 
 EOLIAN char*
-_elm_gengrid_item_elm_interface_atspi_accessible_name_get(Eo *eo_it EINA_UNUSED, Elm_Gen_Item *it)
+_elm_gengrid_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Item *it)
 {
    char *ret;
    Eina_Strbuf *buf;
 
+   eo_do_super(eo_it, ELM_GENGRID_ITEM_CLASS, ret = elm_interface_atspi_accessible_name_get());
+   if (ret) return ret;
+
    buf = eina_strbuf_new();
 
    if (it->itc->func.text_get)
@@ -5567,7 +5578,10 @@ _elm_gengrid_item_elm_interface_atspi_accessible_children_get(Eo *eo_it EINA_UNU
              Evas_Object *part;
              part = edje_object_part_swallow_get(VIEW(it), key);
              if (part && eo_isa(part, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
-               ret = eina_list_append(ret, part);
+               {
+                  ret = eina_list_append(ret, part);
+                  eo_do(part, elm_interface_atspi_accessible_parent_set(eo_it));
+               }
           }
      }
    return ret;
@@ -5743,6 +5757,9 @@ _elm_gengrid_elm_interface_atspi_accessible_state_set_get(Eo *obj, Elm_Gengrid_D
 
    STATE_TYPE_SET(ret, ELM_ATSPI_STATE_MANAGES_DESCENDANTS);
 
+   if (elm_gengrid_multi_select_get(obj))
+     STATE_TYPE_SET(ret, ELM_ATSPI_STATE_MULTISELECTABLE);
+
    return ret;
 }