focus: Added test cases for the existing issues/feature enhancement relate to focus
Summary: Below are the test cases to reproduce the exisiting issues with focus or feature enhancement 1. Focus cut for the first/last item by scroller. 2. Focus animation on the last item. 3. Focus goes out of view point while scrolling. 4. Focus moves but the area of focus does not change. 5. No focus highlight on widget items. 6. No animation on widget item. 7. No focus movement between widget to widget items. Reviewers: seoz, woohyun CC: singh.amitesh Differential Revision: https://phab.enlightenment.org/D502
This commit is contained in:
parent
f7dc81921c
commit
b611e2292f
|
@ -111,6 +111,7 @@ void test_genlist17(void *data, Evas_Object *obj, void *event_info);
|
|||
void test_genlist18(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist19(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist_focus(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist_item_focus(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist_item_styles(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist_multi_select(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist_del(void *data, Evas_Object *obj, void *event_info);
|
||||
|
@ -189,6 +190,7 @@ void test_focus_hide_del(void *data, Evas_Object *obj, void *event_info);
|
|||
void test_focus_custom_chain(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_focus_style(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_focus_part(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_focus3(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_flipselector(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_diskselector(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_colorselector(void *data, Evas_Object *obj, void *event_info);
|
||||
|
@ -641,6 +643,7 @@ add_tests:
|
|||
ADD_TEST(NULL, "Lists - Genlist", "Genlist Tree and Decorate All Mode", test_genlist18);
|
||||
ADD_TEST(NULL, "Lists - Genlist", "Genlist Full Widget", test_genlist19);
|
||||
ADD_TEST(NULL, "Lists - Genlist", "Genlist Focus", test_genlist_focus);
|
||||
ADD_TEST(NULL, "Lists - Genlist", "Genlist Item Focus", test_genlist_item_focus);
|
||||
ADD_TEST(NULL, "Lists - Genlist", "Genlist Item Styles", test_genlist_item_styles);
|
||||
ADD_TEST(NULL, "Lists - Genlist", "Genlist Multi Select", test_genlist_multi_select);
|
||||
ADD_TEST(NULL, "Lists - Genlist", "Genlist Del", test_genlist_del);
|
||||
|
@ -755,7 +758,8 @@ add_tests:
|
|||
ADD_TEST(NULL, "Focus", "Focus Custom Chain", test_focus_custom_chain);
|
||||
ADD_TEST(NULL, "Focus", "Focus Style", test_focus_style);
|
||||
ADD_TEST(NULL, "Focus", "Focus On Part", test_focus_part);
|
||||
|
||||
ADD_TEST(NULL, "Focus", "Focus 3", test_focus3);
|
||||
|
||||
//------------------------------//
|
||||
ADD_TEST(NULL, "Naviframe", "Naviframe", test_naviframe);
|
||||
ADD_TEST(NULL, "Naviframe", "Naviframe 2", test_naviframe2);
|
||||
|
|
|
@ -659,3 +659,93 @@ test_focus_hide_del(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
|
|||
evas_object_resize(win, 320, 480);
|
||||
evas_object_show(win);
|
||||
}
|
||||
|
||||
/**** focus 3 ****/
|
||||
|
||||
static Evas_Object *
|
||||
create_button(Evas_Object *parent, const char *text, Eina_Bool expand)
|
||||
{
|
||||
Evas_Object *btn = elm_button_add(parent);
|
||||
elm_object_text_set(btn, text);
|
||||
if (expand)
|
||||
{
|
||||
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
}
|
||||
|
||||
evas_object_show(btn);
|
||||
|
||||
return btn;
|
||||
}
|
||||
|
||||
void
|
||||
test_focus3(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *win, *box, *sc, *btn_top, *btn_down, *btn[20], *box_btn, *lb, *fr;
|
||||
|
||||
char win_focus_theme[PATH_MAX] = { 0 };
|
||||
char item_name[PATH_MAX];
|
||||
int i;
|
||||
|
||||
snprintf(win_focus_theme, sizeof(win_focus_theme), "%s/objects/test_focus_custom.edj", elm_app_data_dir_get());
|
||||
|
||||
elm_theme_extension_add(NULL, win_focus_theme);
|
||||
|
||||
win = elm_win_util_standard_add("focus3", "Focus 3");
|
||||
elm_win_autodel_set(win, EINA_TRUE);
|
||||
elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
|
||||
elm_win_focus_highlight_animate_set(win, EINA_TRUE);
|
||||
elm_win_focus_highlight_style_set(win, "glow");
|
||||
evas_object_resize(win, 320, 400);
|
||||
|
||||
box = elm_box_add(win);
|
||||
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_win_resize_object_add(win, box);
|
||||
evas_object_show(box);
|
||||
|
||||
fr = elm_frame_add(box);
|
||||
elm_object_text_set(fr, "Focus Check Points");
|
||||
elm_box_pack_end(box, fr);
|
||||
evas_object_show(fr);
|
||||
|
||||
lb = elm_label_add(fr);
|
||||
elm_object_text_set(lb, "<align=left>This test cases list down the"
|
||||
" focus related check points for regression test.<br/>"
|
||||
" 1. Focus cut for the first/last item by scroller<br/>"
|
||||
" 2. Focus animation on the last item<br/>"
|
||||
" 3. Focus goes out of view port while scrolling<br/>"
|
||||
" 4. Sometimes focus moves but the area of focus does not change<br/>"
|
||||
" e.g if focus is on 'top' and with down key it comes on Item1 <br/>"
|
||||
" but the area is same as of top <br/>"
|
||||
" </align>");
|
||||
elm_object_content_set(fr, lb);
|
||||
evas_object_show(lb);
|
||||
|
||||
btn_top = create_button(box, "top", EINA_FALSE);
|
||||
elm_box_pack_end(box, btn_top);
|
||||
|
||||
sc = elm_scroller_add(box);
|
||||
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_box_pack_end(box, sc);
|
||||
|
||||
box_btn = elm_box_add(sc);
|
||||
evas_object_size_hint_weight_set(box_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_object_content_set(sc, box_btn);
|
||||
evas_object_show(box_btn);
|
||||
evas_object_show(sc);
|
||||
|
||||
for (i = 0; i < 20; i++)
|
||||
{
|
||||
sprintf(item_name, "Item %d", i);
|
||||
btn[i] = create_button(box_btn, item_name, EINA_TRUE);
|
||||
elm_box_pack_end(box_btn, btn[i]);
|
||||
}
|
||||
|
||||
btn_down = create_button(box, "down", EINA_FALSE);
|
||||
evas_object_show(btn_down);
|
||||
elm_box_pack_end(box, btn_down);
|
||||
|
||||
evas_object_show(win);
|
||||
}
|
||||
|
||||
|
|
|
@ -3781,3 +3781,93 @@ test_genlist_del(void *data EINA_UNUSED,
|
|||
evas_object_resize(win, 320, 500);
|
||||
evas_object_show(win);
|
||||
}
|
||||
|
||||
void
|
||||
test_genlist_item_focus(void *data EINA_UNUSED,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Object *win, *bx, *bx_horiz, *gl, *btn, *fr, *lb;
|
||||
int i;
|
||||
|
||||
win = elm_win_util_standard_add("genlist-item-focus", "Genlist Item Focus");
|
||||
elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
|
||||
elm_win_focus_highlight_animate_set(win, EINA_TRUE);
|
||||
elm_win_autodel_set(win, EINA_TRUE);
|
||||
|
||||
bx_horiz = elm_box_add(win);
|
||||
elm_box_horizontal_set(bx_horiz, EINA_TRUE);
|
||||
evas_object_size_hint_weight_set(bx_horiz, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
elm_win_resize_object_add(win, bx_horiz);
|
||||
evas_object_show(bx_horiz);
|
||||
|
||||
btn = elm_button_add(bx_horiz);
|
||||
elm_object_text_set(btn, "Left");
|
||||
elm_box_pack_end(bx_horiz, btn);
|
||||
evas_object_show(btn);
|
||||
|
||||
bx = elm_box_add(bx_horiz);
|
||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_box_pack_end(bx_horiz, bx);
|
||||
evas_object_show(bx);
|
||||
|
||||
fr = elm_frame_add(bx);
|
||||
elm_object_text_set(fr, "Genlist Item Focus");
|
||||
elm_box_pack_end(bx, fr);
|
||||
evas_object_show(fr);
|
||||
|
||||
lb = elm_label_add(fr);
|
||||
elm_object_text_set(lb, "<align=left>This test cases list down the"
|
||||
" focus check points related to genlist items.<br/>"
|
||||
" 1. No focus highlight on widget items<br/>"
|
||||
" 2. No animation on widget item<br/>"
|
||||
" 3. No focus movement between widget to widget items<br/>"
|
||||
" </align>");
|
||||
elm_object_content_set(fr, lb);
|
||||
evas_object_show(lb);
|
||||
|
||||
btn = elm_button_add(bx);
|
||||
elm_object_text_set(btn, "Up");
|
||||
elm_box_pack_end(bx, btn);
|
||||
evas_object_show(btn);
|
||||
|
||||
gl = elm_genlist_add(bx);
|
||||
evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_box_pack_end(bx, gl);
|
||||
evas_object_show(gl);
|
||||
elm_object_focus_set(gl, EINA_TRUE);
|
||||
|
||||
btn = elm_button_add(bx);
|
||||
elm_object_text_set(btn, "Down");
|
||||
elm_box_pack_end(bx, btn);
|
||||
evas_object_show(btn);
|
||||
|
||||
btn = elm_button_add(bx_horiz);
|
||||
elm_object_text_set(btn, "Right");
|
||||
elm_box_pack_end(bx_horiz, btn);
|
||||
evas_object_show(btn);
|
||||
|
||||
itc1 = elm_genlist_item_class_new();
|
||||
itc1->item_style = "default";
|
||||
itc1->func.text_get = gl_text_get;
|
||||
itc1->func.content_get = gl_content_get;
|
||||
itc1->func.state_get = gl_state_get;
|
||||
itc1->func.del = NULL;
|
||||
|
||||
for (i = 0; i < 50; i++)
|
||||
{
|
||||
elm_genlist_item_append(gl, itc1,
|
||||
(void *)(uintptr_t)i/* item data */,
|
||||
NULL/* parent */,
|
||||
ELM_GENLIST_ITEM_NONE,
|
||||
gl_sel/* func */,
|
||||
(void *)(uintptr_t)(i * 10)/* func data */);
|
||||
}
|
||||
elm_genlist_item_class_free(itc1);
|
||||
|
||||
evas_object_resize(win, 320, 450);
|
||||
evas_object_show(win);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue