diff --git a/legacy/elementary/doc/examples.dox b/legacy/elementary/doc/examples.dox index de93d4b58f..95df23b5a1 100644 --- a/legacy/elementary/doc/examples.dox +++ b/legacy/elementary/doc/examples.dox @@ -2099,6 +2099,10 @@ * * @note You can't set less than 3 items to be displayed. * + * You can get the number of items in the diskselector by calling + * elm_diskselector_display_item_num_get(), as you can see here: + * @skipline elm_diskselector_add + * * Finally, if a bounce effect is required, or you would like to see * scrollbars, it is possible. But, for default theme, diskselector * scrollbars will be invisible anyway. diff --git a/legacy/elementary/src/bin/test_diskselector.c b/legacy/elementary/src/bin/test_diskselector.c index 927806d167..266c103f0e 100644 --- a/legacy/elementary/src/bin/test_diskselector.c +++ b/legacy/elementary/src/bin/test_diskselector.c @@ -155,6 +155,7 @@ test_diskselector(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even // displayed item number setting example disk = elm_diskselector_add(win); elm_diskselector_display_item_num_set(disk, 5); + printf("Number of Items in DiskSelector : %d\n", elm_diskselector_display_item_num_get(disk)); for (idx = 0; idx < (int)(sizeof(month_list) / sizeof(month_list[0])); idx++) { @@ -172,6 +173,7 @@ test_diskselector(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even // displayed item number setting example disk = elm_diskselector_add(win); elm_diskselector_display_item_num_set(disk, 7); + printf("Number of Items in DiskSelector : %d\n", elm_diskselector_display_item_num_get(disk)); for (idx = 1; idx < 31; idx++) { diff --git a/legacy/elementary/src/examples/diskselector_example_01.c b/legacy/elementary/src/examples/diskselector_example_01.c index af37f54191..02ca5bdc3e 100644 --- a/legacy/elementary/src/examples/diskselector_example_01.c +++ b/legacy/elementary/src/examples/diskselector_example_01.c @@ -83,6 +83,7 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__) for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); elm_diskselector_display_item_num_set(ds, 5); + printf("Number of Items in DiskSelector : %d\n", elm_diskselector_display_item_num_get(ds)); evas_object_show(ds); /* set bounce and scroller policy */ diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index 2df22327ab..fa003a7170 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -24130,6 +24130,15 @@ extern "C" { */ EAPI void elm_diskselector_display_item_num_set(Evas_Object *obj, int num) EINA_ARG_NONNULL(1); + /** + * Get the number of items in the diskselector object. + * + * @param obj The diskselector object. + * + * @ingroup Diskselector + */ + EAPI int elm_diskselector_display_item_num_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + /** * Set bouncing behaviour when the scrolled content reaches an edge. * diff --git a/legacy/elementary/src/lib/elm_diskselector.c b/legacy/elementary/src/lib/elm_diskselector.c index 5356c5960d..e467aeb5fc 100644 --- a/legacy/elementary/src/lib/elm_diskselector.c +++ b/legacy/elementary/src/lib/elm_diskselector.c @@ -1364,3 +1364,12 @@ elm_diskselector_display_item_num_set(Evas_Object *obj, int num) wd->display_item_num = num; wd->display_item_num_by_api = EINA_TRUE; } + +EAPI int +elm_diskselector_display_item_num_get(const Evas_Object *item) +{ + ELM_CHECK_WIDTYPE(item, widtype) (-1); + Widget_Data *wd = elm_widget_data_get(item); + if (!wd) return -1; + return wd->display_item_num; +}