From 2a4c76ddebfdfd612fbb033288efdb6152ca3b44 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 --- legacy/elementary/ChangeLog | 1 + legacy/elementary/NEWS | 1 + legacy/elementary/src/lib/elm_gengrid.c | 20 ++++++++++++++++++++ legacy/elementary/src/lib/elm_gengrid.h | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 95aa6f814d..b38baf900e 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/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/legacy/elementary/NEWS b/legacy/elementary/NEWS index 3ec8b7a78e..796088efaf 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/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/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index 95555cb5b8..a74eab9a9a 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/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/legacy/elementary/src/lib/elm_gengrid.h b/legacy/elementary/src/lib/elm_gengrid.h index d12f66aba1..d9ed5bfc5d 100644 --- a/legacy/elementary/src/lib/elm_gengrid.h +++ b/legacy/elementary/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); + /** * @} */