From a686b7d9fee99c631756eca2ce3e2dad1e296f0d Mon Sep 17 00:00:00 2001 From: Stefan Schmidt Date: Fri, 25 Jan 2019 09:30:00 +0100 Subject: [PATCH] Revert "efl_ui_pager: add tests for efl_ui_pager" This reverts commit 0b79064f4c5c383bf75833c7f3b64cd9a2d37af9. Appreciating the new tests but they are breaking the meson build. /usr/bin/ld: src/bin/elementary/aea5856@@elementary_test@exe/test.c.o: in function `my_win_main': test.c:(.text+0x501e): undefined reference to `test_ui_pager' /usr/bin/ld: test.c:(.text+0x504d): undefined reference to `test_ui_pager_scroll' collect2: error: ld returned 1 exit status Once the meson build break is fixed this could go in again. --- data/Makefile.am | 6 - data/elementary/objects/Makefile.am | 1 - data/elementary/objects/meson.build | 1 - data/elementary/objects/test_pager.edc | 96 --- src/Makefile_Elementary.am | 2 - src/bin/elementary/Makefile.am | 2 - src/bin/elementary/test.c | 4 - src/bin/elementary/test_ui_pager.c | 737 ----------------- src/bin/elementary/test_ui_pager_scroll.c | 934 ---------------------- 9 files changed, 1783 deletions(-) delete mode 100644 data/elementary/objects/test_pager.edc delete mode 100644 src/bin/elementary/test_ui_pager.c delete mode 100644 src/bin/elementary/test_ui_pager_scroll.c diff --git a/data/Makefile.am b/data/Makefile.am index b1ba8de91a..a326711dc0 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -225,7 +225,6 @@ elementary/objects/cursors.edj \ elementary/objects/font_preview.edj \ elementary/objects/postit_ent.edj \ elementary/objects/multibuttonentry.edj \ -elementary/objects/test_pager.edj \ elementary/objects/test_prefs.edj \ elementary/objects/test_prefs.epb \ elementary/objects/test_focus_style.edj \ @@ -277,11 +276,6 @@ elementary/objects/multibuttonentry.edj: elementary/objects/multibuttonentry.edc $(MKDIR_P) elementary/objects/; \ $(EDJE_CC) $(EDJE_CC_FLAGS) $< $@ -elementary/objects/test_pager.edj: elementary/objects/test_pager.edc - $(AM_V_EDJ) \ - $(MKDIR_P) elementary/objects/; \ - $(EDJE_CC) $(EDJE_CC_FLAGS) $< $@ - elementary/objects/test_prefs.edj: elementary/objects/test_prefs.edc $(AM_V_EDJ) \ $(MKDIR_P) elementary/objects/; \ diff --git a/data/elementary/objects/Makefile.am b/data/elementary/objects/Makefile.am index c1325b8865..ac8391f79a 100644 --- a/data/elementary/objects/Makefile.am +++ b/data/elementary/objects/Makefile.am @@ -4,7 +4,6 @@ EXTRA_DIST += \ elementary/objects/test.edc \ elementary/objects/test_external.edc \ elementary/objects/test_masking.edc \ -elementary/objects/test_pager.edc \ elementary/objects/test_prefs.edc \ elementary/objects/test_prefs.epc \ elementary/objects/test_tab_pager.edc \ diff --git a/data/elementary/objects/meson.build b/data/elementary/objects/meson.build index 6d9ead2463..18352eb409 100644 --- a/data/elementary/objects/meson.build +++ b/data/elementary/objects/meson.build @@ -5,7 +5,6 @@ edc_files = [ 'test_masking.edc', 'test_tab_pager.edc', 'test_tooltip.edc', - 'test_pager.edc', 'test_prefs.edc', 'cursors.edc', 'font_preview.edc', diff --git a/data/elementary/objects/test_pager.edc b/data/elementary/objects/test_pager.edc deleted file mode 100644 index 44f31c6648..0000000000 --- a/data/elementary/objects/test_pager.edc +++ /dev/null @@ -1,96 +0,0 @@ -collections { - group { - name: "pager"; - parts { - rect { "bg"; - desc { "default"; - color: 0 0 0 0; - } - } - swallow { "pager"; - desc { "default"; - } - } - swallow { "prev_btn"; - desc { "default"; - rel1.relative: 0.0 0.5; - rel1.offset: 10 0; - rel2.relative: 0.0 0.5; - rel2.offset: 10 0; - align: 0.0 0.5; - min: 30 30; - } - } - swallow { "next_btn"; - desc { "default"; - rel1.relative: 1.0 0.5; - rel1.offset: -10 0; - rel2.relative: 1.0 0.5; - rel2.offset: -10 0; - align: 1.0 0.5; - min: 30 30; - } - } - } - } - group { - name: "page"; - parts { - rect { "bg"; - desc { "default"; - } - } - text { "tl"; - desc { "default"; - rel1.relative: 0 0; - rel2.relative: 0 0; - align: 0 0; - color: 0 0 0 255; - text { size: 10; - min: 1 1; - } - } - } - text { "tr"; - desc { "default"; - rel1.relative: 1 0; - rel2.relative: 1 0; - align: 1 0; - color: 0 0 0 255; - text { size: 10; - min: 1 1; - } - } - } - text { "bl"; - desc { "default"; - rel1.relative: 0 1; - rel2.relative: 0 1; - align: 0 1; - color: 0 0 0 255; - text { size: 10; - min: 1 1; - } - } - } - text { "br"; - desc { "default"; - rel1.relative: 1 1; - rel2.relative: 1 1; - align: 1 1; - color: 0 0 0 255; - text { size: 10; - min: 1 1; - } - } - } - text { "text"; - desc { "default"; - color: 0 0 0 255; - text { size: 20; - } - } - } - } - } -} diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index 2e94e2028c..b13a341bad 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -1100,8 +1100,6 @@ bin/elementary/test_win_stack.c \ bin/elementary/test_win_indicator.c \ bin/elementary/test_gesture_framework.c \ bin/elementary/test_ui_tab_pager.c \ -bin/elementary/test_ui_pager.c \ -bin/elementary/test_ui_pager_scroll.c \ bin/elementary/test.h bin_elementary_elementary_test_LDADD = @USE_ELEMENTARY_LIBS@ diff --git a/src/bin/elementary/Makefile.am b/src/bin/elementary/Makefile.am index b63861d914..290ea0e110 100644 --- a/src/bin/elementary/Makefile.am +++ b/src/bin/elementary/Makefile.am @@ -161,8 +161,6 @@ test_win_wm_rotation.c \ test_win_dialog.c \ test_gesture_framework.c \ test_ui_tab_pager.c \ -test_ui_pager.c \ -test_ui_pager_scroll.c \ test.h elementary_test_LDADD = $(top_builddir)/src/lib/libelementary.la \ diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c index c0a2cfdaac..de66b96582 100644 --- a/src/bin/elementary/test.c +++ b/src/bin/elementary/test.c @@ -374,8 +374,6 @@ void test_efl_anim_interpolator(void *data, Evas_Object *obj, void *event_info); void test_gesture_framework(void *data, Evas_Object *obj, void *event_info); void test_ui_tab_pager(void *data, Evas_Object *obj, void *event_info); -void test_ui_pager(void *data, Evas_Object *obj, void *event_info); -void test_ui_pager_scroll(void *data, Evas_Object *obj, void *event_info); static void _list_udpate(void); @@ -1094,8 +1092,6 @@ add_tests: //------------------------------// ADD_TEST_EO(NULL, "Tab Pager", "Efl.Ui.Tab_Pager", test_ui_tab_pager); - ADD_TEST_EO(NULL, "Pager", "Efl.Ui.Pager", test_ui_pager); - ADD_TEST_EO(NULL, "Scroll Pager", "Efl.Ui.Pager (Scroll)", test_ui_pager_scroll); //------------------------------// ADD_TEST(NULL, "Popups", "Ctxpopup", test_ctxpopup); diff --git a/src/bin/elementary/test_ui_pager.c b/src/bin/elementary/test_ui_pager.c deleted file mode 100644 index ca2cec593b..0000000000 --- a/src/bin/elementary/test_ui_pager.c +++ /dev/null @@ -1,737 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "elementary_config.h" -#endif -#define EO_BETA_API -#define EFL_UI_WIDGET_PROTECTED - -#include - - -#define PAGE_NUM 3 - - -/** |----------panes----------| - * ||--left---| |---right---|| - * || | | layout || - * || | ||---------||| - * ||naviframe| || pager ||| - * || | || ||| - * || | ||---------||| - * ||---------| |-----------|| - * |-------------------------| - * - */ - - -typedef enum _Page_Type { - LAYOUT, - LIST, - BUTTON -} Page_Type; - -typedef enum _Pack_Type { - PACK_BEGIN, - PACK_END, - PACK_BEFORE, - PACK_AFTER, - PACK_AT, - UNPACK_AT -} Pack_Type; - -typedef struct _Params { - Evas_Object *navi; - Eo *pager; - Eo *indicator; - int w, h; - Eina_Bool wfill, hfill; -} Params; - -typedef struct _Page_Set_Params { - Eo *pager; - Eo *spinner; -} Page_Set_Params; - -typedef struct _Pack_Params { - Pack_Type type; - Eo *pager; - Eo *pack_sp; - Eo *unpack_sp; - Eo *unpack_btn; -} Pack_Params; - -typedef struct _Size_Params { - Eo *pager; - Eo *slider; - Params *params; -} Size_Params; - - - -static Eo *page_add(Page_Type p, Eo *parent) -{ - Eo *page; - char buf[PATH_MAX]; - int i; - - switch (p) { - case LAYOUT: - snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", - elm_app_data_dir_get()); - page = efl_add(EFL_UI_LAYOUT_CLASS, parent, - efl_file_set(efl_added, buf, "page"), - efl_text_set(efl_part(efl_added, "text"), "Layout Page")); - efl_gfx_size_hint_fill_set(page, EINA_TRUE, EINA_TRUE); - break; - case LIST: - page = elm_list_add(parent); - elm_list_select_mode_set(page, ELM_OBJECT_SELECT_MODE_ALWAYS); - evas_object_show(page); - for (i = 0; i < 20; i++) { - snprintf(buf, sizeof(buf), "List Page - Item #%d", i); - elm_list_item_append(page, buf, NULL, NULL, NULL, NULL); - } - evas_object_size_hint_weight_set(page, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(page, EVAS_HINT_FILL, - EVAS_HINT_FILL); - break; - case BUTTON: - page = efl_add(EFL_UI_BUTTON_CLASS, parent, - efl_text_set(efl_added, "Button Page")); - efl_gfx_size_hint_fill_set(page, EINA_TRUE, EINA_TRUE); - break; - default: - snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", - elm_app_data_dir_get()); - page = efl_add(EFL_UI_LAYOUT_CLASS, parent, - efl_file_set(efl_added, buf, "page"), - efl_text_set(efl_part(efl_added, "text"), "Layout Page")); - efl_gfx_size_hint_fill_set(page, EINA_TRUE, EINA_TRUE); - break; - } - - return page; -} - -static void prev_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Eo *pager = data; - int curr_page = efl_ui_pager_current_page_get(pager); - - efl_ui_pager_current_page_set(pager, (curr_page - 1)); -} - -static void next_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Eo *pager = data; - int curr_page = efl_ui_pager_current_page_get(pager); - - efl_ui_pager_current_page_set(pager, (curr_page + 1)); -} - -static void back_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - elm_naviframe_item_pop(data); -} - -static void list_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - free(data); -} - -static void width_slider_cb(void *data, const Efl_Event *ev) -{ - Params *params = data; - int h; - - if (params->hfill) h = -1; - else h = params->h; - - params->w = efl_ui_range_value_get(ev->object); - efl_ui_pager_page_size_set(params->pager, EINA_SIZE2D(params->w, h)); -} - -static void height_slider_cb(void *data, const Efl_Event *ev) -{ - Params *params = data; - int w; - - if (params->wfill) w = -1; - else w = params->w; - - params->h = efl_ui_range_value_get(ev->object); - efl_ui_pager_page_size_set(params->pager, EINA_SIZE2D(w, params->h)); -} - -static void width_check_cb(void *data, const Efl_Event *ev) -{ - Size_Params *params = data; - Eina_Bool ck = elm_check_selected_get(ev->object); - int w, h; - - elm_object_disabled_set(params->slider, ck); - - params->params->wfill = ck; - - if (params->params->wfill) w = -1; - else w = params->params->w; - - if (params->params->hfill) h = -1; - else h = params->params->h; - - efl_ui_pager_page_size_set(params->pager, EINA_SIZE2D(w, h)); -} - -static void height_check_cb(void *data, const Efl_Event *ev) -{ - Size_Params *params = data; - Eina_Bool ck = elm_check_selected_get(ev->object); - int w, h; - - elm_object_disabled_set(params->slider, ck); - - params->params->hfill = ck; - - if (params->params->wfill) w = -1; - else w = params->params->w; - - if (params->params->hfill) h = -1; - else h = params->params->h; - - efl_ui_pager_page_size_set(params->pager, EINA_SIZE2D(w, h)); -} - -static void check_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - free(data); -} - -static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Pack_Params *param = data; - Eo *pager = param->pager; - Eo *page, *curr_page; - int index, cnt; - - if (param->type != UNPACK_AT) { - index = efl_content_count(pager); - - switch (index % 3) { - case 0: - page = page_add(LAYOUT, pager); - break; - case 1: - page = page_add(LIST, pager); - break; - case 2: - page = page_add(BUTTON, pager); - break; - default: - page = page_add(LAYOUT, pager); - break; - } - } - - switch (param->type) { - case PACK_BEGIN: - efl_pack_begin(pager, page); - break; - case PACK_END: - efl_pack_end(pager, page); - break; - case PACK_BEFORE: - index = efl_ui_pager_current_page_get(pager); - curr_page = efl_pack_content_get(pager, index); - efl_pack_before(pager, page, curr_page); - break; - case PACK_AFTER: - index = efl_ui_pager_current_page_get(pager); - curr_page = efl_pack_content_get(pager, index); - efl_pack_after(pager, page, curr_page); - break; - case PACK_AT: - index = efl_ui_range_value_get(param->pack_sp); - efl_pack_at(pager, page, index); - 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); - efl_del(page); - break; - } - - cnt = efl_content_count(pager); - - index = efl_ui_range_value_get(param->pack_sp); - if (index > cnt) - efl_ui_range_value_set(param->pack_sp, cnt); - efl_ui_range_min_max_set(param->pack_sp, 0, cnt); - - if (cnt > 0) - { - elm_object_disabled_set(param->unpack_btn, EINA_FALSE); - elm_object_disabled_set(param->unpack_sp, EINA_FALSE); - - cnt -= 1; - index = efl_ui_range_value_get(param->unpack_sp); - if (index > cnt) - efl_ui_range_value_set(param->unpack_sp, cnt); - efl_ui_range_min_max_set(param->unpack_sp, 0, cnt); - } - else - { - elm_object_disabled_set(param->unpack_btn, EINA_TRUE); - elm_object_disabled_set(param->unpack_sp, EINA_TRUE); - } -} - -static void pack_btn_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - free(data); -} - -static void page_set_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Page_Set_Params *psp = data; - - efl_ui_pager_current_page_set(psp->pager, - efl_ui_range_value_get(psp->spinner)); -} - -static void page_set_btn_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - free(data); -} - -static void indicator_icon_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Params *params = data; - - params->indicator = efl_add(EFL_PAGE_INDICATOR_ICON_CLASS, params->pager); - efl_ui_pager_indicator_set(params->pager, params->indicator); -} - -static void indicator_none_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Params *params = data; - efl_ui_pager_indicator_set(params->pager, NULL); -} - -static void page_size_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = data; - Size_Params *size_params; - Evas_Object *navi = params->navi; - Eo *btn, *box, *fr, *inbox, *ck, *sl; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - elm_naviframe_item_push(navi, "Page Size", btn, NULL, - efl_added, NULL)); - - // Width - fr = elm_frame_add(box); - elm_object_text_set(fr, "Width"); - efl_gfx_size_hint_align_set(fr, -1, -1); - efl_gfx_size_hint_weight_set(fr, 1, 1); - efl_pack(box, fr); - efl_gfx_entity_visible_set(fr, 1); - - inbox = efl_add(EFL_UI_BOX_CLASS, fr, - efl_content_set(fr, efl_added)); - - ck = elm_check_add(inbox); - elm_object_text_set(ck, "Fill"); - efl_pack_end(inbox, ck); - efl_gfx_entity_visible_set(ck, 1); - - sl = efl_add(EFL_UI_SLIDER_CLASS, inbox, - efl_ui_range_min_max_set(efl_added, 100, 200), - efl_ui_range_value_set(efl_added, params->w), - efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(100, 0)), - efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, - width_slider_cb, params), - efl_pack_end(inbox, efl_added)); - - size_params = calloc(1, sizeof(Size_Params)); - size_params->slider = sl; - size_params->pager = params->pager; - size_params->params = params; - - efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_CHANGED, width_check_cb, - size_params); - efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params); - - if (params->wfill) - { - elm_check_state_set(ck, EINA_TRUE); - elm_object_disabled_set(sl, EINA_TRUE); - } - - // Height - fr = elm_frame_add(box); - elm_object_text_set(fr, "Height"); - efl_gfx_size_hint_align_set(fr, -1, -1); - efl_gfx_size_hint_weight_set(fr, 1, 1); - efl_pack(box, fr); - efl_gfx_entity_visible_set(fr, 1); - - inbox = efl_add(EFL_UI_BOX_CLASS, fr, - efl_content_set(fr, efl_added)); - - ck = elm_check_add(inbox); - elm_object_text_set(ck, "Fill"); - efl_pack_end(inbox, ck); - efl_gfx_entity_visible_set(ck, 1); - - sl = efl_add(EFL_UI_SLIDER_CLASS, inbox, - efl_ui_range_min_max_set(efl_added, 100, 300), - efl_ui_range_value_set(efl_added, params->h), - efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(100, 0)), - efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, - height_slider_cb, params), - efl_pack_end(inbox, efl_added)); - - size_params = calloc(1, sizeof(Size_Params)); - size_params->slider = sl; - size_params->pager = params->pager; - size_params->params = params; - - efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_CHANGED, height_check_cb, - size_params); - efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params); - - if (params->hfill) - { - elm_check_state_set(ck, EINA_TRUE); - elm_object_disabled_set(sl, EINA_TRUE); - } -} - -static void pack_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *pager = params->pager; - Eo *btn, *box, *in_box1, *in_box2, *sp1, *sp2; - Pack_Params *pack_param; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Pack", btn, NULL, - efl_added, NULL)); - - in_box1 = efl_add(EFL_UI_BOX_CLASS, box, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); - - sp1 = efl_add(EFL_UI_SPIN_BUTTON_CLASS, in_box1, - efl_ui_range_min_max_set(efl_added, 0, - efl_content_count(pager)), - efl_ui_range_value_set(efl_added, - efl_ui_pager_current_page_get(pager))); - - in_box2 = efl_add(EFL_UI_BOX_CLASS, box, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); - - sp2 = efl_add(EFL_UI_SPIN_BUTTON_CLASS, in_box2); - - btn = efl_add(EFL_UI_BUTTON_CLASS, in_box2, - efl_text_set(efl_added, "Unpack At")); - - // Pack Begin - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_BEGIN; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Pack Begin"), - 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)); - - // Pack End - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_END; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Pack End"), - 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)); - - // Pack Before - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_BEFORE; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Pack Before Current Page"), - 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)); - - // Pack After - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_AFTER; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Pack After Current Page"), - 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)); - - // Pack At - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_AT; - - efl_add(EFL_UI_BUTTON_CLASS, in_box1, - efl_text_set(efl_added, "Pack At"), - 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(in_box1, efl_added)); - - efl_pack_end(box, in_box1); - efl_pack_end(in_box1, sp1); - - // Unpack At - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = UNPACK_AT; - - efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, - pack_btn_cb, pack_param); - efl_event_callback_add(btn, EFL_EVENT_DEL, - pack_btn_del_cb, pack_param); - - if (efl_content_count(pager) > 0) - { - efl_ui_range_min_max_set(sp2, 0, - (efl_content_count(pager) - 1)); - efl_ui_range_value_set(sp2, - efl_ui_pager_current_page_get(pager)); - } - else - { - elm_object_disabled_set(btn, EINA_TRUE); - elm_object_disabled_set(sp2, EINA_TRUE); - } - - efl_pack_end(box, in_box2); - efl_pack_end(in_box2, btn); - efl_pack_end(in_box2, sp2); -} - -static void current_page_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *pager = params->pager; - Eo *btn, *box, *sp; - Page_Set_Params *psp = calloc(1, sizeof(Page_Set_Params)); - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Current Page", btn, NULL, - efl_added, NULL)); - - btn = efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Set Current Page As"), - efl_pack_end(box, efl_added)); - - sp = efl_add(EFL_UI_SPIN_BUTTON_CLASS, box, - efl_gfx_size_hint_align_set(efl_added, -1, -1), - efl_pack_end(box, efl_added)); - - if (efl_content_count(pager) > 0) - { - efl_ui_range_min_max_set(sp, 0, - (efl_content_count(pager) - 1)); - efl_ui_range_value_set(sp, - efl_ui_pager_current_page_get(pager)); - } - else - { - elm_object_disabled_set(btn, EINA_TRUE); - elm_object_disabled_set(sp, EINA_TRUE); - } - - psp->pager = pager; - psp->spinner = sp; - - efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, page_set_btn_cb, psp); - efl_event_callback_add(btn, EFL_EVENT_DEL, page_set_btn_del_cb, psp); -} - -static void indicator_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *btn, *box; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Indicator", btn, NULL, - efl_added, NULL)); - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Icon Type"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - indicator_icon_btn_cb, params), - efl_pack_end(box, efl_added)); - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "None"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - indicator_none_btn_cb, params), - efl_pack_end(box, efl_added)); -} - -void test_ui_pager(void *data EINA_UNUSED, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Eo *win, *panes, *navi, *list, *layout, *pager, *page; - Params *params = NULL; - char buf[PATH_MAX]; - int i; - - win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), - efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), - efl_text_set(efl_added, "Pager"), - efl_ui_win_autodel_set(efl_added, EINA_TRUE)); - - panes = efl_add(EFL_UI_PANES_CLASS, win, - efl_gfx_size_hint_weight_set(efl_added, 1, 1), - efl_ui_panes_split_ratio_set(efl_added, 0.3), - efl_content_set(win, efl_added)); - - navi = elm_naviframe_add(panes); - evas_object_show(navi); - efl_content_set(efl_part(panes, "first"), navi); - - list = elm_list_add(navi); - elm_list_horizontal_set(list, EINA_FALSE); - elm_list_select_mode_set(list, ELM_OBJECT_SELECT_MODE_ALWAYS); - elm_naviframe_item_push(navi, "Properties", NULL, NULL, list, NULL); - evas_object_show(list); - - snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", - elm_app_data_dir_get()); - layout = efl_add(EFL_UI_LAYOUT_CLASS, panes, - efl_file_set(efl_added, buf, "pager"), - efl_content_set(efl_part(panes, "second"), efl_added)); - - pager = efl_add(EFL_UI_PAGER_CLASS, layout, - efl_content_set(efl_part(layout, "pager"), efl_added), - efl_ui_pager_page_size_set(efl_added, EINA_SIZE2D(200, 300))); - - efl_add(EFL_UI_BUTTON_CLASS, layout, - efl_text_set(efl_added, "Prev"), - efl_event_callback_add(efl_added, - EFL_UI_EVENT_CLICKED, prev_btn_cb, pager), - efl_content_set(efl_part(layout, "prev_btn"), efl_added)); - - efl_add(EFL_UI_BUTTON_CLASS, layout, - efl_text_set(efl_added, "Next"), - efl_event_callback_add(efl_added, - EFL_UI_EVENT_CLICKED, next_btn_cb, pager), - efl_content_set(efl_part(layout, "next_btn"), efl_added)); - - params = calloc(1, sizeof(Params)); - params->navi = navi; - params->pager = pager; - params->indicator = NULL; - params->w = 200; - params->h = 300; - params->wfill = EINA_FALSE; - params->hfill = EINA_FALSE; - - elm_list_item_append(list, "Page Size", NULL, NULL, page_size_cb, params); - elm_list_item_append(list, "Pack / Unpack", NULL, NULL, pack_cb, params); - elm_list_item_append(list, "Current Page", NULL, NULL, current_page_cb, params); - elm_list_item_append(list, "Indicator", NULL, NULL, indicator_cb, params); - elm_list_go(list); - - efl_event_callback_add(list, EFL_EVENT_DEL, list_del_cb, params); - - for (i = 0; i < PAGE_NUM; i++) { - switch (i % 3) { - case 0: - page = page_add(LAYOUT, pager); - break; - case 1: - page = page_add(LIST, pager); - break; - case 2: - page = page_add(BUTTON, pager); - break; - default: - page = page_add(LAYOUT, pager); - break; - } - efl_pack_end(pager, page); - } - - efl_gfx_entity_size_set(win, EINA_SIZE2D(580, 320)); -} diff --git a/src/bin/elementary/test_ui_pager_scroll.c b/src/bin/elementary/test_ui_pager_scroll.c deleted file mode 100644 index b336f11cd7..0000000000 --- a/src/bin/elementary/test_ui_pager_scroll.c +++ /dev/null @@ -1,934 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "elementary_config.h" -#endif -#define EO_BETA_API -#define EFL_UI_WIDGET_PROTECTED - -#include - - -#define PAGE_NUM 3 - - -/** |----------panes----------| - * ||--left---| |---right---|| - * || | | layout || - * || | ||---------||| - * ||naviframe| || pager ||| - * || | || ||| - * || | ||---------||| - * ||---------| |-----------|| - * |-------------------------| - * - */ - - -typedef enum _Page_Type { - LAYOUT, - LIST, - BUTTON -} Page_Type; - -typedef enum _Pack_Type { - PACK_BEGIN, - PACK_END, - PACK_BEFORE, - PACK_AFTER, - PACK_AT, - UNPACK_AT -} Pack_Type; - -typedef struct _Params { - Evas_Object *navi; - Eo *pager; - Eo *transition; - Eo *indicator; - int w, h; - int padding; - int side_page_num; - int curr_page; - Eina_Bool prev_block, next_block; - Eina_Bool wfill, hfill; -} Params; - -typedef struct _Page_Set_Params { - Eo *pager; - Eo *spinner; -} Page_Set_Params; - -typedef struct _Pack_Params { - Pack_Type type; - Eo *pager; - Eo *pack_sp; - Eo *unpack_sp; - Eo *unpack_btn; -} Pack_Params; - -typedef struct _Size_Params { - Eo *pager; - Eo *slider; - Params *params; -} Size_Params; - - - -static Eo *page_add(Page_Type p, Eo *parent) -{ - Eo *page; - char buf[PATH_MAX]; - int i; - - switch (p) { - case LAYOUT: - snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", - elm_app_data_dir_get()); - page = efl_add(EFL_UI_LAYOUT_CLASS, parent, - efl_file_set(efl_added, buf, "page"), - efl_text_set(efl_part(efl_added, "text"), "Layout Page")); - efl_gfx_size_hint_fill_set(page, EINA_TRUE, EINA_TRUE); - break; - case LIST: - page = elm_list_add(parent); - elm_list_select_mode_set(page, ELM_OBJECT_SELECT_MODE_ALWAYS); - evas_object_show(page); - for (i = 0; i < 20; i++) { - snprintf(buf, sizeof(buf), "List Page - Item #%d", i); - elm_list_item_append(page, buf, NULL, NULL, NULL, NULL); - } - evas_object_size_hint_weight_set(page, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(page, EVAS_HINT_FILL, - EVAS_HINT_FILL); - break; - case BUTTON: - page = efl_add(EFL_UI_BUTTON_CLASS, parent, - efl_text_set(efl_added, "Button Page")); - efl_gfx_size_hint_fill_set(page, EINA_TRUE, EINA_TRUE); - break; - default: - snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", - elm_app_data_dir_get()); - page = efl_add(EFL_UI_LAYOUT_CLASS, parent, - efl_file_set(efl_added, buf, "page"), - efl_text_set(efl_part(efl_added, "text"), "Layout Page")); - efl_gfx_size_hint_fill_set(page, EINA_TRUE, EINA_TRUE); - break; - } - - return page; -} - -static void prev_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Eo *pager = data; - int curr_page = efl_ui_pager_current_page_get(pager); - - efl_ui_pager_current_page_set(pager, (curr_page - 1)); -} - -static void next_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Eo *pager = data; - int curr_page = efl_ui_pager_current_page_get(pager); - - efl_ui_pager_current_page_set(pager, (curr_page + 1)); -} - -static void back_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - elm_naviframe_item_pop(data); -} - -static void list_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - free(data); -} - -static void width_slider_cb(void *data, const Efl_Event *ev) -{ - Params *params = data; - int h; - - if (params->hfill) h = -1; - else h = params->h; - - params->w = efl_ui_range_value_get(ev->object); - efl_ui_pager_page_size_set(params->pager, EINA_SIZE2D(params->w, h)); -} - -static void height_slider_cb(void *data, const Efl_Event *ev) -{ - Params *params = data; - int w; - - if (params->wfill) w = -1; - else w = params->w; - - params->h = efl_ui_range_value_get(ev->object); - efl_ui_pager_page_size_set(params->pager, EINA_SIZE2D(w, params->h)); -} - -static void width_check_cb(void *data, const Efl_Event *ev) -{ - Size_Params *params = data; - Eina_Bool ck = elm_check_selected_get(ev->object); - int w, h; - - elm_object_disabled_set(params->slider, ck); - - params->params->wfill = ck; - - if (params->params->wfill) w = -1; - else w = params->params->w; - - if (params->params->hfill) h = -1; - else h = params->params->h; - - efl_ui_pager_page_size_set(params->pager, EINA_SIZE2D(w, h)); -} - -static void height_check_cb(void *data, const Efl_Event *ev) -{ - Size_Params *params = data; - Eina_Bool ck = elm_check_selected_get(ev->object); - int w, h; - - elm_object_disabled_set(params->slider, ck); - - params->params->hfill = ck; - - if (params->params->wfill) w = -1; - else w = params->params->w; - - if (params->params->hfill) h = -1; - else h = params->params->h; - - efl_ui_pager_page_size_set(params->pager, EINA_SIZE2D(w, h)); -} - -static void check_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - free(data); -} - -static void padding_slider_cb(void *data, const Efl_Event *ev) -{ - Params *params = (Params *) data; - - params->padding = efl_ui_range_value_get(ev->object); - efl_ui_pager_padding_set(params->pager, params->padding); -} - -static void side_page_num_slider_cb(void *data, const Efl_Event *ev) -{ - Params *params = (Params *) data; - - params->side_page_num = efl_ui_range_value_get(ev->object); - efl_page_transition_scroll_side_page_num_set(params->transition, - params->side_page_num); -} - -static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Pack_Params *param = data; - Eo *pager = param->pager; - Eo *page, *curr_page; - int index, cnt; - - if (param->type != UNPACK_AT) { - index = efl_content_count(pager); - - switch (index % 3) { - case 0: - page = page_add(LAYOUT, pager); - break; - case 1: - page = page_add(LIST, pager); - break; - case 2: - page = page_add(BUTTON, pager); - break; - default: - page = page_add(LAYOUT, pager); - break; - } - } - - switch (param->type) { - case PACK_BEGIN: - efl_pack_begin(pager, page); - break; - case PACK_END: - efl_pack_end(pager, page); - break; - case PACK_BEFORE: - index = efl_ui_pager_current_page_get(pager); - curr_page = efl_pack_content_get(pager, index); - efl_pack_before(pager, page, curr_page); - break; - case PACK_AFTER: - index = efl_ui_pager_current_page_get(pager); - curr_page = efl_pack_content_get(pager, index); - efl_pack_after(pager, page, curr_page); - break; - case PACK_AT: - index = efl_ui_range_value_get(param->pack_sp); - efl_pack_at(pager, page, index); - 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); - efl_del(page); - break; - } - - cnt = efl_content_count(pager); - - index = efl_ui_range_value_get(param->pack_sp); - if (index > cnt) - efl_ui_range_value_set(param->pack_sp, cnt); - efl_ui_range_min_max_set(param->pack_sp, 0, cnt); - - if (cnt > 0) - { - elm_object_disabled_set(param->unpack_btn, EINA_FALSE); - elm_object_disabled_set(param->unpack_sp, EINA_FALSE); - - cnt -= 1; - index = efl_ui_range_value_get(param->unpack_sp); - if (index > cnt) - efl_ui_range_value_set(param->unpack_sp, cnt); - efl_ui_range_min_max_set(param->unpack_sp, 0, cnt); - } - else - { - elm_object_disabled_set(param->unpack_btn, EINA_TRUE); - elm_object_disabled_set(param->unpack_sp, EINA_TRUE); - } -} - -static void pack_btn_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - free(data); -} - -static void page_set_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - Page_Set_Params *psp = data; - - efl_ui_pager_current_page_set(psp->pager, - efl_ui_range_value_get(psp->spinner)); -} - -static void page_set_btn_del_cb(void *data, const Efl_Event *ev EINA_UNUSED) -{ - free(data); -} - -static void prev_block_check_cb(void *data, const Efl_Event *ev) -{ - Eo *pager = data; - Eina_Bool prev, next; - - prev = efl_ui_nstate_value_get(ev->object); - - efl_ui_pager_scroll_block_get(pager, NULL, &next); - efl_ui_pager_scroll_block_set(pager, prev, next); -} - -static void next_block_check_cb(void *data, const Efl_Event *ev) -{ - Eo *pager = data; - Eina_Bool prev, next; - - next = efl_ui_nstate_value_get(ev->object); - - efl_ui_pager_scroll_block_get(pager, &prev, NULL); - efl_ui_pager_scroll_block_set(pager, prev, next); -} - -static void loop_check_cb(void *data, const Efl_Event *ev) -{ - Eo *pager = data; - int state = efl_ui_nstate_value_get(ev->object); - - //FIXME use other widget (i.e. radio) than check - // since loop might not be enabled according to the number of items - efl_ui_pager_loop_mode_set(pager, state); -} - -static void indicator_icon_btn_cb(void *data, - const Efl_Event *ev EINA_UNUSED) -{ - Params *params = data; - - params->indicator = efl_add(EFL_PAGE_INDICATOR_ICON_CLASS, params->pager); - efl_ui_pager_indicator_set(params->pager, params->indicator); -} - -static void indicator_none_btn_cb(void *data, - const Efl_Event *ev EINA_UNUSED) -{ - Params *params = data; - efl_ui_pager_indicator_set(params->pager, NULL); -} - -static void page_size_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = data; - Size_Params *size_params; - Evas_Object *navi = params->navi; - Eo *btn, *box, *fr, *inbox, *ck, *sl; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - elm_naviframe_item_push(navi, "Page Size", btn, NULL, - efl_added, NULL)); - - // Width - fr = elm_frame_add(box); - elm_object_text_set(fr, "Width"); - efl_gfx_size_hint_align_set(fr, -1, -1); - efl_gfx_size_hint_weight_set(fr, 1, 1); - efl_pack(box, fr); - efl_gfx_entity_visible_set(fr, 1); - - inbox = efl_add(EFL_UI_BOX_CLASS, fr, - efl_content_set(fr, efl_added)); - - ck = elm_check_add(inbox); - elm_object_text_set(ck, "Fill"); - efl_pack_end(inbox, ck); - efl_gfx_entity_visible_set(ck, 1); - - sl = efl_add(EFL_UI_SLIDER_CLASS, inbox, - efl_ui_range_min_max_set(efl_added, 100, 200), - efl_ui_range_value_set(efl_added, params->w), - efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(100, 0)), - efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, - width_slider_cb, params), - efl_pack_end(inbox, efl_added)); - - size_params = calloc(1, sizeof(Size_Params)); - size_params->slider = sl; - size_params->pager = params->pager; - size_params->params = params; - - efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_CHANGED, width_check_cb, - size_params); - efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params); - - if (params->wfill) - { - elm_check_state_set(ck, EINA_TRUE); - elm_object_disabled_set(sl, EINA_TRUE); - } - - // Height - fr = elm_frame_add(box); - elm_object_text_set(fr, "Height"); - efl_gfx_size_hint_align_set(fr, -1, -1); - efl_gfx_size_hint_weight_set(fr, 1, 1); - efl_pack(box, fr); - efl_gfx_entity_visible_set(fr, 1); - - inbox = efl_add(EFL_UI_BOX_CLASS, fr, - efl_content_set(fr, efl_added)); - - ck = elm_check_add(inbox); - elm_object_text_set(ck, "Fill"); - efl_pack_end(inbox, ck); - efl_gfx_entity_visible_set(ck, 1); - - sl = efl_add(EFL_UI_SLIDER_CLASS, inbox, - efl_ui_range_min_max_set(efl_added, 100, 300), - efl_ui_range_value_set(efl_added, params->h), - efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(100, 0)), - efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, - height_slider_cb, params), - efl_pack_end(inbox, efl_added)); - - size_params = calloc(1, sizeof(Size_Params)); - size_params->slider = sl; - size_params->pager = params->pager; - size_params->params = params; - - efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_CHANGED, height_check_cb, - size_params); - efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params); - - if (params->hfill) - { - elm_check_state_set(ck, EINA_TRUE); - elm_object_disabled_set(sl, EINA_TRUE); - } -} - -static void padding_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *btn, *box; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Padding Size", btn, NULL, - efl_added, NULL)); - - efl_add(EFL_UI_SLIDER_CLASS, box, - efl_ui_range_min_max_set(efl_added, 0, 50), - efl_ui_range_value_set(efl_added, params->padding), - efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(100, 0)), - efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, - padding_slider_cb, params), - efl_pack_end(box, efl_added)); -} - -static void side_page_num_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *btn, *box; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Side Page Num", btn, NULL, - efl_added, NULL)); - - efl_add(EFL_UI_SLIDER_CLASS, box, - efl_text_set(efl_added, "side page num"), - efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), - efl_ui_range_min_max_set(efl_added, 0, 3), - efl_ui_range_value_set(efl_added, params->side_page_num), - efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), - efl_gfx_size_hint_weight_set(efl_added, 1, 1), - efl_gfx_size_hint_align_set(efl_added, -1, -1), - efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, - side_page_num_slider_cb, params), - efl_pack_end(box, efl_added)); -} - -static void pack_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *pager = params->pager; - Eo *btn, *box, *in_box1, *in_box2, *sp1, *sp2; - Pack_Params *pack_param; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Pack", btn, NULL, - efl_added, NULL)); - - in_box1 = efl_add(EFL_UI_BOX_CLASS, box, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); - - sp1 = efl_add(EFL_UI_SPIN_BUTTON_CLASS, in_box1, - efl_ui_range_min_max_set(efl_added, 0, - efl_content_count(pager)), - efl_ui_range_value_set(efl_added, - efl_ui_pager_current_page_get(pager))); - - in_box2 = efl_add(EFL_UI_BOX_CLASS, box, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL)); - - sp2 = efl_add(EFL_UI_SPIN_BUTTON_CLASS, in_box2); - - btn = efl_add(EFL_UI_BUTTON_CLASS, in_box2, - efl_text_set(efl_added, "Unpack At")); - - // Pack Begin - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_BEGIN; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Pack Begin"), - 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)); - - // Pack End - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_END; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Pack End"), - 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)); - - // Pack Before - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_BEFORE; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Pack Before Current Page"), - 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)); - - // Pack After - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_AFTER; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Pack After Current Page"), - 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)); - - // Pack At - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = PACK_AT; - - efl_add(EFL_UI_BUTTON_CLASS, in_box1, - efl_text_set(efl_added, "Pack At"), - 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(in_box1, efl_added)); - - efl_pack_end(box, in_box1); - efl_pack_end(in_box1, sp1); - - // Unpack At - pack_param = calloc(1, sizeof(Pack_Params)); - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = UNPACK_AT; - - efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, - pack_btn_cb, pack_param); - efl_event_callback_add(btn, EFL_EVENT_DEL, - pack_btn_del_cb, pack_param); - - if (efl_content_count(pager) > 0) - { - efl_ui_range_min_max_set(sp2, 0, - (efl_content_count(pager) - 1)); - efl_ui_range_value_set(sp2, - efl_ui_pager_current_page_get(pager)); - } - else - { - elm_object_disabled_set(btn, EINA_TRUE); - elm_object_disabled_set(sp2, EINA_TRUE); - } - - efl_pack_end(box, in_box2); - efl_pack_end(in_box2, btn); - efl_pack_end(in_box2, sp2); -} - -static void current_page_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *pager = params->pager; - Eo *btn, *box, *sp; - Page_Set_Params *psp = calloc(1, sizeof(Page_Set_Params)); - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Current Page", btn, NULL, - efl_added, NULL)); - - btn = efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Set Current Page As"), - efl_pack_end(box, efl_added)); - - sp = efl_add(EFL_UI_SPIN_BUTTON_CLASS, box, - efl_gfx_size_hint_align_set(efl_added, -1, -1), - efl_pack_end(box, efl_added)); - - if (efl_content_count(pager) > 0) - { - efl_ui_range_min_max_set(sp, 0, - (efl_content_count(pager) - 1)); - efl_ui_range_value_set(sp, - efl_ui_pager_current_page_get(pager)); - } - else - { - elm_object_disabled_set(btn, EINA_TRUE); - elm_object_disabled_set(sp, EINA_TRUE); - } - - psp->pager = pager; - psp->spinner = sp; - - efl_event_callback_add(btn, EFL_UI_EVENT_CLICKED, page_set_btn_cb, psp); - efl_event_callback_add(btn, EFL_EVENT_DEL, page_set_btn_del_cb, psp); -} - -static void scroll_block_cb(void *data, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *pager = params->pager; - Eo *btn, *box; - Eina_Bool prev, next; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Scroll Block", btn, NULL, - efl_added, NULL)); - - efl_ui_pager_scroll_block_get(pager, &prev, &next); - - efl_add(EFL_UI_CHECK_CLASS, box, - efl_ui_widget_style_set(efl_added, "toggle"), - efl_text_set(efl_added, "Prev Block"), - efl_ui_nstate_value_set(efl_added, prev), - efl_event_callback_add(efl_added, EFL_UI_CHECK_EVENT_CHANGED, - prev_block_check_cb, pager), - efl_pack_end(box, efl_added)); - - efl_add(EFL_UI_CHECK_CLASS, box, - efl_ui_widget_style_set(efl_added, "toggle"), - efl_text_set(efl_added, "Next Block"), - efl_ui_nstate_value_set(efl_added, next), - efl_event_callback_add(efl_added, EFL_UI_CHECK_EVENT_CHANGED, - next_block_check_cb, pager), - efl_pack_end(box, efl_added)); -} - -static void loop_cb(void *data EINA_UNUSED, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *pager = params->pager; - Eo *btn, *box; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Loop", btn, NULL, - efl_added, NULL)); - - efl_add(EFL_UI_CHECK_CLASS, box, - efl_ui_widget_style_set(efl_added, "toggle"), - efl_text_set(efl_added, "Loop"), - efl_ui_nstate_value_set(efl_added, efl_ui_pager_loop_mode_get(pager)), - efl_event_callback_add(efl_added, EFL_UI_CHECK_EVENT_CHANGED, - loop_check_cb, pager), - efl_pack_end(box, efl_added)); -} - -static void indicator_cb(void *data EINA_UNUSED, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Params *params = (Params *)data; - Evas_Object *navi = params->navi; - Eo *btn, *box; - - btn = efl_add(EFL_UI_BUTTON_CLASS, navi, - efl_text_set(efl_added, "Back"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - back_btn_cb, navi)); - - box = efl_add(EFL_UI_BOX_CLASS, navi, - efl_pack_padding_set(efl_added, 10, 10, EINA_TRUE), - elm_naviframe_item_push(navi, "Indicator", btn, NULL, - efl_added, NULL)); - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Icon Type"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - indicator_icon_btn_cb, params), - efl_pack_end(box, efl_added)); - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "None"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - indicator_none_btn_cb, params), - efl_pack_end(box, efl_added)); -} - -void test_ui_pager_scroll(void *data EINA_UNUSED, - Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Eo *win, *panes, *navi, *list, *layout, *pager, *page, *tran; - Params *params = NULL; - char buf[PATH_MAX]; - int i; - - win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), - efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), - efl_text_set(efl_added, "Pager"), - efl_ui_win_autodel_set(efl_added, EINA_TRUE)); - - panes = efl_add(EFL_UI_PANES_CLASS, win, - efl_gfx_size_hint_weight_set(efl_added, 1, 1), - efl_ui_panes_split_ratio_set(efl_added, 0.3), - efl_content_set(win, efl_added)); - - navi = elm_naviframe_add(panes); - evas_object_show(navi); - efl_content_set(efl_part(panes, "first"), navi); - - list = elm_list_add(navi); - elm_list_horizontal_set(list, EINA_FALSE); - elm_list_select_mode_set(list, ELM_OBJECT_SELECT_MODE_ALWAYS); - elm_naviframe_item_push(navi, "Properties", NULL, NULL, list, NULL); - evas_object_show(list); - - snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj", - elm_app_data_dir_get()); - layout = efl_add(EFL_UI_LAYOUT_CLASS, panes, - efl_file_set(efl_added, buf, "pager"), - efl_content_set(efl_part(panes, "second"), efl_added)); - - pager = efl_add(EFL_UI_PAGER_CLASS, layout, - efl_content_set(efl_part(layout, "pager"), efl_added), - efl_ui_pager_page_size_set(efl_added, EINA_SIZE2D(200, 300)), - efl_ui_pager_padding_set(efl_added, 20)); - - efl_add(EFL_UI_BUTTON_CLASS, layout, - efl_text_set(efl_added, "Prev"), - efl_event_callback_add(efl_added, - EFL_UI_EVENT_CLICKED, prev_btn_cb, pager), - efl_content_set(efl_part(layout, "prev_btn"), efl_added)); - - efl_add(EFL_UI_BUTTON_CLASS, layout, - efl_text_set(efl_added, "Next"), - efl_event_callback_add(efl_added, - EFL_UI_EVENT_CLICKED, next_btn_cb, pager), - efl_content_set(efl_part(layout, "next_btn"), efl_added)); - - tran = efl_add(EFL_PAGE_TRANSITION_SCROLL_CLASS, pager, - efl_ui_pager_transition_set(pager, efl_added)); - - params = calloc(1, sizeof(Params)); - params->navi = navi; - params->pager = pager; - params->transition = NULL; - params->indicator = NULL; - params->w = 200; - params->h = 300; - params->padding = 20; - params->side_page_num = efl_page_transition_scroll_side_page_num_get(tran); - params->curr_page = 0; - params->wfill = EINA_FALSE; - params->hfill = EINA_FALSE; - params->prev_block = EINA_FALSE; - params->next_block = EINA_FALSE; - params->transition = tran; - - elm_list_item_append(list, "Page Size", NULL, NULL, page_size_cb, params); - elm_list_item_append(list, "Padding", NULL, NULL, padding_cb, params); - elm_list_item_append(list, "Side Page Num", NULL, NULL, side_page_num_cb, params); - elm_list_item_append(list, "Pack / Unpack", NULL, NULL, pack_cb, params); - elm_list_item_append(list, "Current Page", NULL, NULL, current_page_cb, params); - elm_list_item_append(list, "Scroll Block", NULL, NULL, scroll_block_cb, params); - elm_list_item_append(list, "Loop", NULL, NULL, loop_cb, params); - elm_list_item_append(list, "Indicator", NULL, NULL, indicator_cb, params); - - elm_list_go(list); - - efl_event_callback_add(list, EFL_EVENT_DEL, list_del_cb, params); - - for (i = 0; i < PAGE_NUM; i++) { - switch (i % 3) { - case 0: - page = page_add(LAYOUT, pager); - break; - case 1: - page = page_add(LIST, pager); - break; - case 2: - page = page_add(BUTTON, pager); - break; - default: - page = page_add(LAYOUT, pager); - break; - } - efl_pack_end(pager, page); - } - - efl_gfx_entity_size_set(win, EINA_SIZE2D(580, 320)); -}