From 84f8ec868b141652e318f3d92a6d3863517fa4d0 Mon Sep 17 00:00:00 2001 From: "jh0506.yun" Date: Tue, 26 Oct 2010 15:30:12 +0900 Subject: [PATCH] elm_gengrid_item_prepend API added --- src/lib/Elementary.h.in | 1 + src/lib/elm_gengrid.c | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index 10cc1e1..c4b091d 100755 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -653,6 +653,7 @@ extern "C" { EAPI void elm_gengrid_item_disabled_set(Elm_Gengrid_Item *item, Eina_Bool disabled); EAPI Eina_Bool elm_gengrid_item_disabled_get(const Elm_Gengrid_Item *item); EAPI Elm_Gengrid_Item *elm_gengrid_item_append(Evas_Object *obj, const Elm_Gengrid_Item_Class *gcc, const void *data, Evas_Smart_Cb func, const void *func_data); + EAPI Elm_Gengrid_Item *elm_gengrid_item_prepend(Evas_Object *obj, const Elm_Gengrid_Item_Class *gcc, const void *data, Evas_Smart_Cb func, const void *func_data); EAPI void elm_gengrid_item_update(Elm_Gengrid_Item *it); /* smart callbacks called: * diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index edbca8f..b662352 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c @@ -1121,6 +1121,47 @@ elm_gengrid_item_append(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, } /** + * Prepend item at start of the Gengrid + * + * This adds an item to the beginning of the list or beginning of the children + * of the parent if given. + * + * @param obj The Gengrid object. + * @param gic The item class for the item. + * @param data The item data. + * @param func Convenience function called when item is selected. + * @param func_data Data passed to @p func above. + * @return A handle to the item added or NULL if not possible. + * + * @see elm_gengrid_item_del() + * + * @ingroup Gengrid + */ + + +EAPI Elm_Gengrid_Item * +elm_gengrid_item_prepend(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, + const void *data, Evas_Smart_Cb func, + const void *func_data) +{ + Elm_Gengrid_Item *item; + ELM_CHECK_WIDTYPE(obj, widtype) NULL; + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return NULL; + + item = _item_create(wd, gic, data, func, func_data); + if (!item) return NULL; + + wd->items = eina_list_prepend(wd->items, item); + wd->no_select = EINA_FALSE; + + if (wd->calc_job) ecore_job_del(wd->calc_job); + wd->calc_job = ecore_job_add(_calc_job, wd); + + return item; +} + +/** * Remove a item from the Gengrid. * * @param item The item to be removed. -- 2.7.4