From 5ae6e0de20f20f778ae7fecade94f195c53fb58b Mon Sep 17 00:00:00 2001 From: Michael BOUCHAUD Date: Wed, 14 Nov 2012 16:34:33 +0000 Subject: [PATCH] elmentary: add elm_gengrid_nth_item_get SVN revision: 79296 --- ChangeLog | 1 + NEWS | 1 + src/lib/elm_gengrid.c | 20 ++++++++++++++++++++ src/lib/elm_gengrid.h | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) diff --git a/ChangeLog b/ChangeLog index 95aa6f8..b38baf9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -682,3 +682,4 @@ 2012-11-14 Michael Bouchaud (yoz) * Add elm_genlist_nth_item_get + * Add elm_gengrid_nth_item_get diff --git a/NEWS b/NEWS index 3ec8b7a..796088e 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,7 @@ Additions: * Add virtualkeypad, clipboard state change signals from conformant. * Add elm_toolbar_item_show/bring_in. * Add elm_genlist_nth_item_get + * Add elm_gengrid_nth_item_get Improvements: diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index 95555cb..a74eab9 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c @@ -3529,3 +3529,23 @@ elm_gengrid_item_select_mode_get(const Elm_Object_Item *item) if (!it) return ELM_OBJECT_SELECT_MODE_MAX; return it->select_mode; } + +EAPI Elm_Object_Item * +elm_gengrid_nth_item_get(const Evas_Object *obj, unsigned int nth) +{ + Elm_Gen_Item *it = NULL; + Eina_Accessor *a; + void *data; + + ELM_GENGRID_CHECK(obj) EINA_FALSE; + ELM_GENGRID_DATA_GET(obj, sd); + + if (!sd->items) return NULL; + + a = eina_inlist_accessor_new(sd->items); + if (!a) return NULL; + if (eina_accessor_data_get(a, nth, &data)) + it = ELM_GEN_ITEM_FROM_INLIST(data); + eina_accessor_free(a); + return (Elm_Object_Item *)it; +} diff --git a/src/lib/elm_gengrid.h b/src/lib/elm_gengrid.h index d12f66a..d9ed5bf 100644 --- a/src/lib/elm_gengrid.h +++ b/src/lib/elm_gengrid.h @@ -1659,6 +1659,22 @@ EAPI void elm_gengrid_item_select_mode_set(Elm_Object_I */ EAPI Elm_Object_Select_Mode elm_gengrid_item_select_mode_get(const Elm_Object_Item *it); + +/** + * Get the nth item, in a given gengrid widget, placed at position @p nth, in + * its internal items list + * + * @param obj The gengrid object + * @param nth The number of the item to grab (0 being the first) + * + * @return The item stored in @p obj at position @p nth or @c NULL, if there's + * no item with that index (and on errors) + * + * @ingroup Genilst + * @since 1.8 + */ +EAPI Elm_Object_Item *elm_gengrid_nth_item_get(const Evas_Object *obj, unsigned int nth); + /** * @} */ -- 2.7.4