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);
+}

-- 


Reply via email to