diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c index 3835a63797..0b2904d1dd 100644 --- a/src/bin/elementary/test.c +++ b/src/bin/elementary/test.c @@ -181,6 +181,7 @@ void test_scroller4(void *data, Evas_Object *obj, void *event_info); void test_scroller5(void *data, Evas_Object *obj, void *event_info); void test_scroller6(void *data, Evas_Object *obj, void *event_info); void test_scroller7(void *data, Evas_Object *obj, void *event_info); +void test_scroller_simple(void *data, Evas_Object *obj, void *event_info); void test_efl_ui_scroller(void *data, Evas_Object *obj, void *event_info); void test_efl_ui_scroller2(void *data, Evas_Object *obj, void *event_info); void test_spinner(void *data, Evas_Object *obj, void *event_info); @@ -1093,7 +1094,9 @@ add_tests: ADD_TEST(NULL, "Scroller", "Scroller on Popup", test_scroller5); ADD_TEST(NULL, "Scroller", "Scroller 6", test_scroller6); ADD_TEST(NULL, "Scroller", "Scroller 7", test_scroller7); + ADD_TEST(NULL, "Scroller", "Scroller Simple", test_scroller_simple); ADD_TEST_EO(NULL, "Scroller", "Efl.Ui.Scroller", test_efl_ui_scroller); + ADD_TEST_EO(NULL, "Scroller", "Efl.Ui.Scroller Simple", test_efl_ui_scroller2); //------------------------------// // FIXME: add frame test diff --git a/src/bin/elementary/test_scroller.c b/src/bin/elementary/test_scroller.c index 3861e924b5..1626564900 100644 --- a/src/bin/elementary/test_scroller.c +++ b/src/bin/elementary/test_scroller.c @@ -691,6 +691,64 @@ test_scroller2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event } } +static void +_scroll_anim_start(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + int x, y; + elm_scroller_region_get(obj, &x, &y, NULL, NULL); + printf("scroll start: %p x: %d y: %d\n", obj, x, y); +} + +static void +_scroll_anim_stop(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +{ + int x, y; + elm_scroller_region_get(obj, &x, &y, NULL, NULL); + printf("scroll stop: %p x: %d y: %d\n", obj, x, y); +} + +void +test_scroller_simple(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *win, *bt, *bx, *sc; + int i; + + + win = elm_win_util_standard_add("scroller2", "Scroller Simple"); + elm_win_autodel_set(win, EINA_TRUE); + + bx = elm_box_add(win); + evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_align_set(bx, 0.5, 0); + + /* { */ + sc = elm_scroller_add(win); + evas_object_smart_callback_add(sc, "scroll,anim,start", _scroll_anim_start, NULL); + evas_object_smart_callback_add(sc, "scroll,anim,stop", _scroll_anim_stop, NULL); + evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_scroller_bounce_set(sc, EINA_TRUE, EINA_TRUE); + evas_object_show(sc); + evas_object_show(bx); + + elm_object_content_set(sc, bx); + elm_win_resize_object_add(win, sc); + /* } */ + + for (i = 0; i < 2000; i++) + { + bt = elm_button_add(win); + elm_object_text_set(bt, "Vertical"); + evas_object_smart_callback_add(bt, "clicked", _click_through, NULL); + evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5); + elm_box_pack_end(bx, bt); + evas_object_show(bt); + } + evas_object_resize(win, 320, 400); + evas_object_show(win); +} + static Ecore_Timer *_timer = NULL; static int _append = 0; static int _count = 0; diff --git a/src/bin/elementary/test_ui_scroller.c b/src/bin/elementary/test_ui_scroller.c index fc47d0706d..84602735c7 100644 --- a/src/bin/elementary/test_ui_scroller.c +++ b/src/bin/elementary/test_ui_scroller.c @@ -129,3 +129,39 @@ test_efl_ui_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void efl_pack(bx, efl_added)); } } + +void +test_efl_ui_scroller2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win, *sc, *bx; + int i; + + win = efl_add_ref(EFL_UI_WIN_CLASS, NULL, + efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC), + efl_text_set(efl_added, "Efl Ui Scroller Simple"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400)); + + sc = efl_add(EFL_UI_SCROLLER_CLASS, win, + efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), + efl_event_callback_add(efl_added, EFL_UI_EVENT_SCROLL_START, _scroll_start_cb, NULL), + efl_event_callback_add(efl_added, EFL_UI_EVENT_SCROLL_STOP, _scroll_stop_cb, NULL), + efl_content_set(win, efl_added)); + + bx = efl_add(EFL_UI_BOX_CLASS, sc, + efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL), + efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, 0), + efl_gfx_hint_align_set(efl_added, 0.5, 0), + efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), + efl_content_set(sc, efl_added)); + + for (i = 0; i < 2000; i++) + { + efl_add(EFL_UI_BUTTON_CLASS, bx, + efl_text_set(efl_added, "Vertical"), + efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, 0.0), + efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_FALSE), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _bt_clicked, NULL), + efl_pack(bx, efl_added)); + } +}