Summary:
Add elm_gengrid_item_all_contents_unset API for reusing contents in application side.
User can unset all contents or re-use their contents for increase scrolling performance.
genlist already support this API.
@feature
Test Plan: Need to add test in elementary_test.
Reviewers: raster, singh.amitesh, cedric
Subscribers: woohyun, Hermet, seoz
Differential Revision: https://phab.enlightenment.org/D3066
return VIEW(it);
}
+EOLIAN static void
+_elm_gengrid_item_all_contents_unset(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it, Eina_List **l)
+{
+ Evas_Object *content;
+
+ ELM_GENGRID_ITEM_CHECK_OR_RETURN(it);
+
+ EINA_LIST_FREE(it->contents, content)
+ {
+ elm_widget_sub_object_del(WIDGET(it), content);
+ edje_object_part_unswallow(VIEW(it), content);
+ evas_object_hide(content);
+ if (l) *l = eina_list_append(*l, content);
+ }
+}
+
EOLIAN static void
_elm_gengrid_item_update(Eo *eo_item EINA_UNUSED, Elm_Gen_Item *it)
{
@in type: Elm_Gengrid_Item_Scrollto_Type; [[Where to position the item in the viewport.]]
}
}
+ all_contents_unset {
+ [[Unset all contents fetched by the item class.
+
+ This instructs gengrid to release references to contents
+ in the item, meaning that they will no longer be managed
+ by gengrid and are floating "orphans" that can be re-used
+ elsewhere if the user wants to.
+ ]]
+ params {
+ @out l: own(list<own(Evas.Object *)> *); [[The contents list to return.]]
+ }
+ }
update {
[[Update the contents of a given gengrid item