if (sd->calc_done) return;
//
+ //TIZEN_ONLY(20161111) : Item index and position refactoring.
+ if (sd->position_update)
+ {
+ _item_position_update(sd->items, 1);
+ sd->position_update = EINA_FALSE;
+ }
+ //
+
sd->items_lost = 0;
evas_object_geometry_get(sd->pan_obj, NULL, NULL, &cvw, &cvh);
sd->group_items = eina_list_remove(sd->group_items, it);
ELM_SAFE_FREE(sd->state, eina_inlist_sorted_state_free);
+ //TIZEN_ONLY(20161111) : Item index and position refactoring.
+ sd->position_update = EINA_TRUE;
//TIZEN_ONLY(20160511) : Remove job for fixing calculate timing issue.
sd->calc_done = EINA_FALSE;
evas_object_smart_changed(sd->pan_obj);
if (!it) return NULL;
sd->items = eina_inlist_prepend(sd->items, EINA_INLIST_GET(it));
- _item_position_update(sd->items, 1);
+ sd->position_update = EINA_TRUE;
if (it->group)
sd->group_items = eina_list_append(sd->group_items, it);
sd->item_compare_cb = comp;
sd->items = eina_inlist_sorted_state_insert
(sd->items, EINA_INLIST_GET(it), _elm_gengrid_item_compare, sd->state);
- _item_position_update(sd->items, 0);
+ _item_position_update(sd->items, 1);
//TIZEN_ONLY(20160511) : Remove job for fixing calculate timing issue.
sd->calc_done = EINA_FALSE;
EOLIAN static int
_elm_gengrid_item_index_get(Eo *eo_it EINA_UNUSED, Elm_Gen_Item *it)
{
+ //TIZEN_ONLY(20161111) : Item index and position refactoring.
+ int cnt = 1;
+ Elm_Gen_Item *tmp;
ELM_GENGRID_ITEM_CHECK_OR_RETURN(it, -1);
+ EINA_INLIST_FOREACH(GG_IT(it)->wsd->items, tmp)
+ {
+ if (tmp == it) break;
+ cnt++;
+ }
+ it->position = cnt;
+ //
return it->position;
}