allo icons to be orphaned

SVN revision: 54218
This commit is contained in:
Carsten Haitzler 2010-11-06 07:05:00 +00:00
parent 957db2c37e
commit 84d429884f
2 changed files with 25 additions and 0 deletions

View File

@ -1647,6 +1647,7 @@ extern "C" {
EAPI void elm_genlist_item_del(Elm_Genlist_Item *item);
EAPI void *elm_genlist_item_data_get(const Elm_Genlist_Item *item);
EAPI void elm_genlist_item_data_set(Elm_Genlist_Item *it, const void *data);
EAPI void elm_genlist_item_icons_orphan(Elm_Genlist_Item *it);
EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it);
EAPI void elm_genlist_item_update(Elm_Genlist_Item *item);

View File

@ -3419,6 +3419,30 @@ elm_genlist_item_data_get(const Elm_Genlist_Item *it)
return elm_widget_item_data_get(it);
}
/**
* Tells genlist to "orphan" icons fetchs by the item class
*
* This instructs genlist to release references to icons in the item, meaning
* that they will no longer be managed by genlist and are floating "orphans"
* that can be re-used elsewhere if the user wants to.
*
* @param it The item
*
* @ingroup Genlist
*/
EAPI void
elm_genlist_item_icons_orphan(Elm_Genlist_Item *it)
{
Evas_Object *icon;
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it);
EINA_LIST_FREE(it->icon_objs, icon)
{
elm_widget_sub_object_del(it->base.widget, icon);
evas_object_smart_member_del(icon);
evas_object_hide(icon);
}
}
/**
* Get the real evas object of the genlist item
*