diff --git a/src/bin/elementary/test_ui_pager.c b/src/bin/elementary/test_ui_pager.c index 9a51699f77..4349a7ab11 100644 --- a/src/bin/elementary/test_ui_pager.c +++ b/src/bin/elementary/test_ui_pager.c @@ -36,7 +36,8 @@ typedef enum _Pack_Type { PACK_BEFORE, PACK_AFTER, PACK_AT, - UNPACK_AT + UNPACK_AT, + CLEAR } Pack_Type; typedef struct _Params { @@ -218,7 +219,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) Eo *page, *curr_page; int index, cnt; - if (param->type != UNPACK_AT) { + if ((param->type != UNPACK_AT) && (param->type != CLEAR)) { index = efl_content_count(pager); switch (index % 3) { @@ -260,10 +261,12 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) break; case UNPACK_AT: index = efl_ui_range_value_get(param->unpack_sp); - page = efl_pack_content_get(pager, index); - efl_pack_unpack(pager, page); + page = efl_pack_unpack_at(pager, index); efl_del(page); break; + case CLEAR: + efl_pack_clear(pager); + break; } cnt = efl_content_count(pager); @@ -587,6 +590,25 @@ static void pack_cb(void *data, efl_pack_end(box, in_box2); efl_pack_end(in_box2, btn); efl_pack_end(in_box2, sp2); + + // Clear + pack_param = calloc(1, sizeof(Pack_Params)); + if (!pack_param) return; + + pack_param->pager = pager; + pack_param->pack_sp = sp1; + pack_param->unpack_sp = sp2; + pack_param->unpack_btn = btn; + pack_param->type = CLEAR; + + efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Clear"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, + pack_btn_cb, pack_param), + efl_event_callback_add(efl_added, EFL_EVENT_DEL, + pack_btn_del_cb, pack_param), + efl_pack_end(box, efl_added)); + } static void current_page_cb(void *data,