forked from enlightenment/efl
genlist: add elm_genlist_filtered_items_count API
Summary: This API will return the number of items that have passed the filter at a given point of time. If the API is called before "filter,done" callback comes, it may or may not give the filtered count for the complete genlist. Test Plan: Updated Genlist_filter example to print the output from filtered_count_get API in "filter,done" callback. Reviewers: SanghyeonLee, shilpasingh, cedric Reviewed By: cedric Subscribers: buds Differential Revision: https://phab.enlightenment.org/D3725 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
parent
ecc4e26236
commit
5d08cbad2d
|
@ -5025,11 +5025,11 @@ gl_filter_get(void *data, Evas_Object *obj EINA_UNUSED, void *key)
|
|||
}
|
||||
|
||||
static void
|
||||
_gl_filter_finished_cb(void *data EINA_UNUSED,
|
||||
_gl_filter_finished_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
printf("Filter finished\n");
|
||||
printf("Filter finished, filtered items count is %d\n", elm_genlist_filtered_items_count((Evas_Object *)data));
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -5117,7 +5117,7 @@ test_genlist_filter(void *data EINA_UNUSED,
|
|||
evas_object_smart_callback_add(gl, "activated", _gl_focus_item_cb, "activated");
|
||||
evas_object_smart_callback_add(gl, "highlighted", _gl_focus_item_cb, "highlighted");
|
||||
evas_object_smart_callback_add(gl, "unhighlighted", _gl_focus_item_cb, "unhighlighted");
|
||||
evas_object_smart_callback_add(gl, "filter,done", _gl_filter_finished_cb, NULL);
|
||||
evas_object_smart_callback_add(gl, "filter,done", _gl_filter_finished_cb, gl);
|
||||
evas_object_event_callback_add(gl, EVAS_CALLBACK_KEY_DOWN, _gl_focus_key_down_cb, NULL);
|
||||
|
||||
itc = elm_genlist_item_class_new();
|
||||
|
|
|
@ -7652,6 +7652,12 @@ _elm_genlist_filter_iterator_new(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd)
|
|||
return &iter->iterator;
|
||||
}
|
||||
|
||||
EOLIAN static unsigned int
|
||||
_elm_genlist_filtered_items_count(const Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd)
|
||||
{
|
||||
return sd->filtered_count;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_genlist_longpress_timeout_set(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, double timeout)
|
||||
{
|
||||
|
|
|
@ -423,6 +423,16 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, Evas.Clickable_Interfac
|
|||
]]
|
||||
return: free(own(iterator<Elm_Gen_Item *> *), eina_iterator_free); [[Iterator on genlist]]
|
||||
}
|
||||
filtered_items_count @const {
|
||||
[[Return how many items have passed the filter currently.
|
||||
|
||||
This behaviour is O(1) and may or may not return the
|
||||
filtered count for complete genlist based on the timing
|
||||
of the call. To get complete count, call after "filter,done"
|
||||
callback
|
||||
]]
|
||||
return: uint;
|
||||
}
|
||||
items_count @const {
|
||||
[[Return how many items are currently in a list.
|
||||
|
||||
|
|
Loading…
Reference in New Issue