if (!it) return;
if (!after) return;
- if (it->wd->ed->ec->move)
- it->wd->ed->ec->move(it->base.widget, it, after, EINA_TRUE);
-
-// printf("MOVE AFTER : %d after = %d \n", (int)elm_genlist_item_data_get(it)+1, (int)elm_genlist_item_data_get(after)+1);
+// printf("MOVE AFTER : it = %d after = %d \n", it->num, after->num);
it->wd->items = eina_inlist_remove(it->wd->items, EINA_INLIST_GET(it));
it->wd->reorder_deleted = EINA_TRUE;
_item_block_del(it);
it->rel->relcount++;
it->before = EINA_FALSE;
_item_queue(it->wd, it);
+
+ if (it->itc->func.moved)
+ it->itc->func.moved(it->base.widget, it, after, EINA_TRUE);
}
static void
if (!it) return;
if (!before) return;
- if (it->wd->ed->ec->move)
- it->wd->ed->ec->move(it->base.widget, it, before, EINA_FALSE);
-
-// printf("MOVE BEFORE : %d before = %d \n", (int)elm_genlist_item_data_get(it)+1, (int)elm_genlist_item_data_get(before)+1);
+// printf("MOVE BEFORE : it = %d before = %d \n", it->num, before->num);
it->wd->items = eina_inlist_remove(it->wd->items, EINA_INLIST_GET(it));
it->wd->reorder_deleted = EINA_TRUE;
_item_block_del(it);
it->rel->relcount++;
it->before = EINA_TRUE;
_item_queue(it->wd, it);
+
+ if (it->itc->func.moved)
+ it->itc->func.moved(it->base.widget, it, before, EINA_FALSE);
}
EAPI void
}
}
}
+
+EAPI void
+elm_genlist_realized_items_update(const Evas_Object *obj)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+
+ Eina_List *list, *l;
+ Elm_Genlist_Item *it;
+
+ list = elm_genlist_realized_items_get(obj);
+ EINA_LIST_FOREACH(list, l, it)
+ elm_genlist_item_update(it);
+}