seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=a64aa0febc699698f18dedee3ef6be25b8bd6d53

commit a64aa0febc699698f18dedee3ef6be25b8bd6d53
Author: Daniel Juyung Seo <[email protected]>
Date:   Sun Mar 9 20:07:13 2014 +0900

    test_list: Refactor 'List Focus' test to reveal more focus related
    bugs.
    
    - Added Up, Down, Left, Right buttons around the list.
    - Changed list focus test name.
      test_list8 -> test_list_focus
      test_list9 -> test_list_horiz_focus
    - Incresed window size accordingly.
---
 src/bin/test.c      |   8 ++--
 src/bin/test_list.c | 107 ++++++++++++++++++++++++++++++++++------------------
 2 files changed, 74 insertions(+), 41 deletions(-)

diff --git a/src/bin/test.c b/src/bin/test.c
index bfd0294..dc66533 100644
--- a/src/bin/test.c
+++ b/src/bin/test.c
@@ -82,8 +82,8 @@ void test_list4(void *data, Evas_Object *obj, void 
*event_info);
 void test_list5(void *data, Evas_Object *obj, void *event_info);
 void test_list6(void *data, Evas_Object *obj, void *event_info);
 void test_list7(void *data, Evas_Object *obj, void *event_info);
-void test_list8(void *data, Evas_Object *obj, void *event_info);
-void test_list9(void *data, Evas_Object *obj, void *event_info);
+void test_list_focus(void *data, Evas_Object *obj, void *event_info);
+void test_list_horiz_focus(void *data, Evas_Object *obj, void *event_info);
 void test_list_separator(void *data, Evas_Object *obj, void *event_info);
 void test_list_multi_select(void *data, Evas_Object *obj, void *event_info);
 void test_inwin(void *data, Evas_Object *obj, void *event_info);
@@ -618,8 +618,8 @@ add_tests:
    ADD_TEST(NULL, "Lists - List", "List 5", test_list5);
    ADD_TEST(NULL, "Lists - List", "List 6", test_list6);
    ADD_TEST(NULL, "Lists - List", "List 7", test_list7);
-   ADD_TEST(NULL, "Lists - List", "List Focus", test_list8);
-   ADD_TEST(NULL, "Lists - List", "List Focus Horizontal", test_list9);
+   ADD_TEST(NULL, "Lists - List", "List Focus", test_list_focus);
+   ADD_TEST(NULL, "Lists - List", "List Focus Horizontal", 
test_list_horiz_focus);
    ADD_TEST(NULL, "Lists - List", "List Separator", test_list_separator);
    ADD_TEST(NULL, "Lists - List", "List Multi Select", test_list_multi_select);
 
diff --git a/src/bin/test_list.c b/src/bin/test_list.c
index a39ac78..cc2ef36 100644
--- a/src/bin/test_list.c
+++ b/src/bin/test_list.c
@@ -1224,7 +1224,7 @@ static const char *_list_focus_names[] = {"None", 
"Square", "Button", "Check", "
 static const int _list_focus_combo[] = { 1, 0, 2, 33, 43, 44, 10, 30, 22, 11, 
10, -1 };
 
 static Evas_Object *
-test_list8_content_get(Evas_Object *obj, unsigned type, Eina_Bool horiz)
+test_list_focus_content_get(Evas_Object *obj, unsigned type, Eina_Bool horiz)
 {
    Evas_Object *cnt = NULL;
 
@@ -1245,9 +1245,9 @@ test_list8_content_get(Evas_Object *obj, unsigned type, 
Eina_Bool horiz)
          cnt = elm_box_add(obj);
          elm_box_horizontal_set(cnt, !horiz);
          evas_object_size_hint_align_set(cnt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-         elm_box_pack_end(cnt, test_list8_content_get(obj, 2, horiz));
-         elm_box_pack_end(cnt, test_list8_content_get(obj, 3, horiz));
-         elm_box_pack_end(cnt, test_list8_content_get(obj, 2, horiz));
+         elm_box_pack_end(cnt, test_list_focus_content_get(obj, 2, horiz));
+         elm_box_pack_end(cnt, test_list_focus_content_get(obj, 3, horiz));
+         elm_box_pack_end(cnt, test_list_focus_content_get(obj, 2, horiz));
          break;
       default:
          break;
@@ -1264,7 +1264,8 @@ test_list8_content_get(Evas_Object *obj, unsigned type, 
Eina_Bool horiz)
 }
 
 static void
-test_list8_focus_on_selection_set(Evas_Object *gl, Evas_Object *chk, Eina_Bool 
focus)
+test_list_focus_focus_on_selection_set(Evas_Object *gl,
+                                       Evas_Object *chk, Eina_Bool focus)
 {
     elm_list_focus_on_selection_set(gl, focus);
     elm_check_state_set(chk, focus);
@@ -1272,14 +1273,16 @@ test_list8_focus_on_selection_set(Evas_Object *gl, 
Evas_Object *chk, Eina_Bool f
 }
 
 static void
-test_list8_focus_check_changed(void *data, Evas_Object *obj, void *event_info  
EINA_UNUSED)
+test_list_focus_focus_check_changed(void *data, Evas_Object *obj,
+                                    void *event_info  EINA_UNUSED)
 {
    Eina_Bool nextstate = !elm_list_focus_on_selection_get(data);
-   test_list8_focus_on_selection_set(data, obj, nextstate);
+   test_list_focus_focus_on_selection_set(data, obj, nextstate);
 }
 
 static void
-test_list8_focus_animate_check_changed(void *data, Evas_Object *obj, void 
*event_info EINA_UNUSED)
+test_list_focus_focus_animate_check_changed(void *data, Evas_Object *obj,
+                                            void *event_info EINA_UNUSED)
 {
    elm_win_focus_highlight_animate_set((Evas_Object *)data,
                                        elm_check_state_get(obj));
@@ -1299,9 +1302,10 @@ _list_key_down_cb(void *data EINA_UNUSED, Evas *e 
EINA_UNUSED,
    printf("\n=== Key Down : %s ===\n", ev->keyname);
 }
 
-void test_list_focus(const char *name, const char *title, Eina_Bool horiz)
+static void
+_test_list_focus(const char *name, const char *title, Eina_Bool horiz)
 {
-   Evas_Object *win, *li, *bx, *bxx, *chk;
+   Evas_Object *win, *li, *btn, *bx, *bx2, *bx_opt, *chk;
    unsigned int lhand, rhand, idx;
    char buf[256];
 
@@ -1311,17 +1315,34 @@ void test_list_focus(const char *name, const char 
*title, Eina_Bool horiz)
    elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
    elm_win_focus_highlight_animate_set(win, EINA_TRUE);
 
-   bxx = elm_box_add(win);
-   evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   elm_win_resize_object_add(win, bxx);
-   evas_object_show(bxx);
+   bx = elm_box_add(win);
+   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   elm_win_resize_object_add(win, bx);
+   evas_object_show(bx);
+
+   btn = elm_button_add(bx);
+   elm_object_text_set(btn, "Up");
+   elm_box_pack_end(bx, btn);
+   evas_object_show(btn);
+
+   bx2 = elm_box_add(bx);
+   elm_box_horizontal_set(bx2, EINA_TRUE);
+   evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_box_pack_end(bx, bx2);
+   evas_object_show(bx2);
+
+   btn = elm_button_add(bx2);
+   elm_object_text_set(btn, "Left");
+   elm_box_pack_end(bx2, btn);
+   evas_object_show(btn);
 
    li = elm_list_add(win);
    evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
    elm_list_horizontal_set(li, horiz);
    elm_list_select_mode_set(li, ELM_OBJECT_SELECT_MODE_ALWAYS);
-   elm_box_pack_end(bxx, li);
+   elm_box_pack_end(bx2, li);
    evas_object_show(li);
    evas_object_smart_callback_add(li, "item,focused", _item_cb, 
"item,focused");
    evas_object_smart_callback_add(li, "item,unfocused", _item_cb, 
"item,unfocused");
@@ -1332,31 +1353,43 @@ void test_list_focus(const char *name, const char 
*title, Eina_Bool horiz)
    evas_object_smart_callback_add(li, "unhighlighted", _item_cb, 
"unhighlighted");
    evas_object_event_callback_add(li, EVAS_CALLBACK_KEY_DOWN, 
_list_key_down_cb, NULL);
 
-   bx = elm_box_add(win);
-   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0);
-   evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_horizontal_set(bx, EINA_TRUE);
-   evas_object_show(bx);
+   btn = elm_button_add(bx2);
+   elm_object_text_set(btn, "Right");
+   elm_box_pack_end(bx2, btn);
+   evas_object_show(btn);
+
+   btn = elm_button_add(bx);
+   elm_object_text_set(btn, "Down");
+   elm_box_pack_end(bx, btn);
+   evas_object_show(btn);
+
+   bx_opt = elm_box_add(win);
+   evas_object_size_hint_weight_set(bx_opt, EVAS_HINT_EXPAND, 0);
+   evas_object_size_hint_align_set(bx_opt, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_box_horizontal_set(bx_opt, EINA_TRUE);
+   evas_object_show(bx_opt);
 
    chk = elm_check_add(win);
    elm_object_text_set(chk, "Focus Animation");
    elm_check_state_set(chk, EINA_TRUE);
    evas_object_size_hint_weight_set(chk, EVAS_HINT_EXPAND, 0.0);
    evas_object_smart_callback_add(chk, "changed",
-                                  test_list8_focus_animate_check_changed, win);
-   elm_box_pack_end(bx, chk);
+                                  test_list_focus_focus_animate_check_changed,
+                                  win);
+   elm_box_pack_end(bx_opt, chk);
    evas_object_show(chk);
 
    chk = elm_check_add(win);
    elm_object_text_set(chk, "Focus on selection");
    evas_object_size_hint_weight_set(chk, EVAS_HINT_EXPAND, 0.0);
-   evas_object_smart_callback_add(chk, "changed", 
test_list8_focus_check_changed, li);
-   elm_box_pack_end(bx, chk);
+   evas_object_smart_callback_add(chk, "changed",
+                                  test_list_focus_focus_check_changed, li);
+   elm_box_pack_end(bx_opt, chk);
    evas_object_show(chk);
 
-   test_list8_focus_on_selection_set(li, chk, EINA_FALSE);
+   test_list_focus_focus_on_selection_set(li, chk, EINA_FALSE);
 
-   elm_box_pack_end(bxx, bx);
+   elm_box_pack_end(bx, bx_opt);
 
    for (idx = 0; _list_focus_combo[idx] >= 0; idx++)
      {
@@ -1370,32 +1403,32 @@ void test_list_focus(const char *name, const char 
*title, Eina_Bool horiz)
             _list_focus_names[rhand]);
 
         elm_list_item_append(li, buf,
-                test_list8_content_get(li, lhand, horiz),
-                test_list8_content_get(li, rhand, horiz),
+                test_list_focus_content_get(li, lhand, horiz),
+                test_list_focus_content_get(li, rhand, horiz),
                 NULL, NULL);
      }
 
    elm_list_go(li);
    evas_object_show(li);
 
-   evas_object_resize(win, 320, 300);
+   evas_object_resize(win, 420, 450);
    evas_object_show(win);
 }
 
 void
-test_list8(void        *data EINA_UNUSED,
-           Evas_Object *obj EINA_UNUSED,
-           void        *event_info EINA_UNUSED)
+test_list_focus(void        *data EINA_UNUSED,
+                Evas_Object *obj EINA_UNUSED,
+                void        *event_info EINA_UNUSED)
 {
-    test_list_focus("list-focus", "List Focus", EINA_FALSE);
+   _test_list_focus("list-focus", "List Focus", EINA_FALSE);
 }
 
 void
-test_list9(void        *data EINA_UNUSED,
-           Evas_Object *obj EINA_UNUSED,
-           void        *event_info EINA_UNUSED)
+test_list_horiz_focus(void        *data EINA_UNUSED,
+                      Evas_Object *obj EINA_UNUSED,
+                      void        *event_info EINA_UNUSED)
 {
-    test_list_focus("list-focus-horizontal", "List Focus Horizontal", 
EINA_TRUE);
+   _test_list_focus("list-focus-horizontal", "List Focus Horizontal", 
EINA_TRUE);
 }
 
 void

-- 


Reply via email to