jpeg pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f5c96735978257929dc38e0145732d4ee963483b
commit f5c96735978257929dc38e0145732d4ee963483b Author: Hosang Kim <hosang12....@samsung.com> Date: Wed Sep 2 16:16:04 2015 +0900 elm_test: Add test case for page scroller Signed-off-by: Jean-Philippe Andre <jp.an...@samsung.com> --- data/objects/test.edc | 37 ++++++++++++++++++++++++++++ src/bin/test.c | 2 ++ src/bin/test_scroller.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+) diff --git a/data/objects/test.edc b/data/objects/test.edc index 74c90b6..84407e5 100644 --- a/data/objects/test.edc +++ b/data/objects/test.edc @@ -749,4 +749,41 @@ collections { } } } +group { name: "page_layout"; + parts { + part { name: "bg"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + min: 400 500; + max: 400 500; + color: 0 0 0 0; + } + } + part { name: "page"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + rel1.relative: 0.1 0.1; + rel1.to:"bg"; + rel2.relative: 0.9 0.9; + rel2.to:"bg"; + } + } + part { name: "text"; + type: TEXT; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + rel1.relative: 0.5 0.5; + rel2.relative: 0.5 0.5; + text { + min: 1 1; + size: 50; + ellipsis: -1; + } + } + } + } + } diff --git a/src/bin/test.c b/src/bin/test.c index e6479ff..8a82f1e 100644 --- a/src/bin/test.c +++ b/src/bin/test.c @@ -152,6 +152,7 @@ void test_separator(void *data, Evas_Object *obj, void *event_info); void test_scroller(void *data, Evas_Object *obj, void *event_info); void test_scroller2(void *data, Evas_Object *obj, void *event_info); void test_scroller3(void *data, Evas_Object *obj, void *event_info); +void test_scroller4(void *data, Evas_Object *obj, void *event_info); void test_spinner(void *data, Evas_Object *obj, void *event_info); void test_index(void *data, Evas_Object *obj, void *event_info); void test_index2(void *data, Evas_Object *obj, void *event_info); @@ -759,6 +760,7 @@ add_tests: ADD_TEST(NULL, "Scroller", "Scroller", test_scroller); ADD_TEST(NULL, "Scroller", "Scroller 2", test_scroller2); ADD_TEST(NULL, "Scroller", "Scroller 3", test_scroller3); + ADD_TEST(NULL, "Scroller", "Page Scroller", test_scroller4); //------------------------------// // FIXME: add frame test diff --git a/src/bin/test_scroller.c b/src/bin/test_scroller.c index 3a53d1b..eb00f25 100644 --- a/src/bin/test_scroller.c +++ b/src/bin/test_scroller.c @@ -664,3 +664,67 @@ test_scroller3(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event evas_object_resize(win, 500, 500); evas_object_show(win); } + +void +test_scroller4(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *win, *sc, *bx, *ly, *sc2, *rect, *rect2; + char buf[PATH_MAX]; + + win = elm_win_util_standard_add("scroller3", "Scroller 3"); + elm_win_autodel_set(win, EINA_TRUE); + + sc = elm_scroller_add(win); + elm_scroller_loop_set(sc, EINA_TRUE, EINA_FALSE); + evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_scroller_page_relative_set(sc, 1.0, 0.0); + elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_scroll_limit_set(sc, 1, 0); + elm_win_resize_object_add(win, sc); + evas_object_show(sc); + + bx = elm_box_add(sc); + elm_box_horizontal_set(bx, EINA_TRUE); + elm_object_content_set(sc, bx); + evas_object_show(bx); + + ly = elm_layout_add(bx); + snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); + elm_layout_file_set(ly, buf, "page_layout"); + elm_object_part_text_set(ly, "text", "Page1"); + elm_box_pack_end(bx, ly); + evas_object_show(ly); + + sc2 = elm_scroller_add(ly); + elm_object_part_content_set(ly, "page", sc2); + evas_object_show(sc2); + + rect2 = evas_object_rectangle_add(evas_object_evas_get(sc2)); + evas_object_color_set(rect2, 50, 0, 0, 50); + evas_object_size_hint_min_set(rect2, 0, 2000); + elm_object_content_set(sc2, rect2); + evas_object_show(rect2); + + ly = elm_layout_add(bx); + snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); + elm_layout_file_set(ly, buf, "page_layout"); + rect = evas_object_rectangle_add(evas_object_evas_get(ly)); + evas_object_color_set(rect, 0, 50, 0, 50); + elm_object_part_content_set(ly, "page", rect); + elm_object_part_text_set(ly, "text", "Page2"); + elm_box_pack_end(bx, ly); + evas_object_show(ly); + + ly = elm_layout_add(bx); + snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); + elm_layout_file_set(ly, buf, "page_layout"); + rect = evas_object_rectangle_add(evas_object_evas_get(ly)); + evas_object_color_set(rect, 0, 0, 50, 50); + elm_object_part_content_set(ly, "page", rect); + elm_object_part_text_set(ly, "text", "Page3"); + elm_box_pack_end(bx, ly); + evas_object_show(ly); + + evas_object_resize(win, 400, 550); + evas_object_show(win); +} --