From: cnook <kimcinoo@gmail.com>
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 17 Apr 2012 10:59:16 +0000 (10:59 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 17 Apr 2012 10:59:16 +0000 (10:59 +0000)
Subject: [E-devel] [Patch][elementary_test] test_list

I had added test code for the elementary. but I made a pause it
because of
some reasons and just started again.
Today I have attached a patch for the elm_list which does not have test
code for the API elm_list_item_prev();
Please review the attached patch and give any feedbacks. I'll be back
with
other patches. Thanks!

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@70265 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/bin/test.c
src/bin/test_list.c

index ae2b165..761e563 100644 (file)
@@ -70,6 +70,7 @@ void test_list2(void *data, Evas_Object *obj, void *event_info);
 void test_list3(void *data, Evas_Object *obj, void *event_info);
 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_inwin(void *data, Evas_Object *obj, void *event_info);
 void test_inwin2(void *data, Evas_Object *obj, void *event_info);
 void test_scaling(void *data, Evas_Object *obj, void *event_info);
@@ -532,6 +533,7 @@ add_tests:
    ADD_TEST(NULL, "Lists", "List 3", test_list3);
    ADD_TEST(NULL, "Lists", "List 4", test_list4);
    ADD_TEST(NULL, "Lists", "List 5", test_list5);
+   ADD_TEST(NULL, "Lists", "List 6", test_list6);
    ADD_TEST(NULL, "Lists", "Genlist", test_genlist);
    ADD_TEST(NULL, "Lists", "Genlist 2", test_genlist2);
    ADD_TEST(NULL, "Lists", "Genlist 3", test_genlist3);
index fd41a45..dcbc5e6 100644 (file)
@@ -281,6 +281,13 @@ _cleanup_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *e
    free(data);
 }
 
+static void _filter_all_cb(void *data, Evas_Object *obj __UNUSED__,
+                           void *event_info __UNUSED__)
+{
+   Evas_Object *popup = (Evas_Object *)data;
+   evas_object_del(popup);
+}
+
 void
 test_list(void        *data __UNUSED__,
           Evas_Object *obj __UNUSED__,
@@ -319,7 +326,7 @@ test_list(void        *data __UNUSED__,
    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
    elm_icon_file_set(ic, buf, NULL);
    elm_icon_resizable_set(ic, 1, 1);
-   list_it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL);
+   list_it1 = elm_list_item_append(li, "Hello", ic, NULL, _filter_all_cb, bxx);
    ic = elm_icon_add(win);
    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
    elm_icon_resizable_set(ic, 0, 0);
@@ -704,11 +711,99 @@ _bt_clicked(void        *data __UNUSED__,
 }
 
 static void
-_it_clicked(void        *data __UNUSED__,
-            Evas_Object *obj __UNUSED__,
-            void        *event_info __UNUSED__)
+_first_bt_clicked(void *data, Evas_Object *obj __UNUSED__,
+                  void *event_info __UNUSED__)
+{
+   char str[128];
+   Evas_Object *li = (Evas_Object *) data;
+   Evas_Object *lb;
+
+   Elm_Object_Item *lit = elm_list_first_item_get(li);
+   if (!lit) return;
+   sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+   elm_list_item_bring_in(lit);
+   elm_list_item_selected_set(lit, EINA_TRUE);
+
+   lb = evas_object_data_get(li, "label");
+   elm_object_text_set(lb, str);
+}
+
+static void
+_prev_bt_clicked(void *data, Evas_Object *obj __UNUSED__,
+                 void *event_info __UNUSED__)
+{
+   char str[128];
+   Evas_Object *li = (Evas_Object *) data;
+   Evas_Object *lb;
+
+   Elm_Object_Item *lit = elm_list_selected_item_get(li);
+   if (!lit) return;
+   lit = elm_list_item_prev(lit);
+   if (!lit) return;
+
+   sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+   elm_list_item_bring_in(lit);
+   elm_list_item_selected_set(lit, EINA_TRUE);
+
+   lb = evas_object_data_get(li, "label");
+   elm_object_text_set(lb, str);
+}
+
+static void
+_next_bt_clicked(void *data, Evas_Object *obj __UNUSED__,
+                 void *event_info __UNUSED__)
+{
+   char str[128];
+   Evas_Object *li = (Evas_Object *) data;
+   Evas_Object *lb;
+
+   Elm_Object_Item *lit = elm_list_selected_item_get(li);
+   if (!lit) return;
+   lit = elm_list_item_next(lit);
+   if (!lit) return;
+
+   sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+   elm_list_item_bring_in(lit);
+   elm_list_item_selected_set(lit, EINA_TRUE);
+
+   lb = evas_object_data_get(li, "label");
+   elm_object_text_set(lb, str);
+}
+
+static void
+_last_bt_clicked(void *data, Evas_Object *obj __UNUSED__,
+                 void *event_info __UNUSED__)
+{
+   char str[128];
+   Evas_Object *li = (Evas_Object *) data;
+   Evas_Object *lb;
+
+   Elm_Object_Item *lit = elm_list_last_item_get(li);
+   if (!lit) return;
+   sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+   elm_list_item_bring_in(lit);
+   elm_list_item_selected_set(lit, EINA_TRUE);
+
+   lb = evas_object_data_get(li, "label");
+   elm_object_text_set(lb, str);
+}
+
+static void
+_it_clicked(void *data, Evas_Object *obj __UNUSED__,
+                 void *event_info __UNUSED__)
 {
    printf("item was clicked\n");
+   if (!data) return;
+   Evas_Object *li = (Evas_Object *) data;
+   Evas_Object *lb;
+   char str[128];
+
+   Elm_Object_Item *lit = elm_list_selected_item_get(li);
+   if (!lit) return;
+   sprintf(str, "%s is selected", elm_object_item_text_get(lit));
+
+   lb = evas_object_data_get(li, "label");
+   elm_object_text_set(lb, str);
 }
 
 void
@@ -1020,4 +1115,74 @@ test_list5(void        *data __UNUSED__,
    evas_object_show(win);
 }
 
+void
+test_list6(void        *data __UNUSED__,
+           Evas_Object *obj __UNUSED__,
+           void        *event_info __UNUSED__)
+{
+   Evas_Object *win, *gd, *bt, *li, *lb;
+   win = elm_win_util_standard_add("list6", "List 6");
+   elm_win_autodel_set(win, EINA_TRUE);
+
+   gd = elm_grid_add(win);
+   elm_grid_size_set(gd, 100, 100);
+   elm_win_resize_object_add(win, gd);
+   evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+   li = elm_list_add(win);
+   evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   elm_list_mode_set(li, ELM_LIST_COMPRESS);
+   elm_grid_pack(gd, li,  4,  4, 92, 72);
+   evas_object_show(li);
+
+   elm_list_item_append(li, "Eina", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Eet", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Evas", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Ecore", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Embryo", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Edje", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Efreet", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "E_dbus", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Eeze", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Expedite", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Emotion", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Ethumb", NULL, NULL, _it_clicked, li);
+   elm_list_item_append(li, "Elementary", NULL, NULL, _it_clicked, li);
+   elm_list_go(li);
+
+   bt = elm_button_add(win);
+   elm_object_text_set(bt, "First");
+   evas_object_smart_callback_add(bt, "clicked", _first_bt_clicked, li);
+   elm_grid_pack(gd, bt,  4,  80, 20, 10);
+   evas_object_show(bt);
+
+   bt = elm_button_add(win);
+   elm_object_text_set(bt, "Prev");
+   evas_object_smart_callback_add(bt, "clicked", _prev_bt_clicked, li);
+   elm_grid_pack(gd, bt,  28,  80, 20, 10);
+   evas_object_show(bt);
+
+   bt = elm_button_add(win);
+   elm_object_text_set(bt, "Next");
+   evas_object_smart_callback_add(bt, "clicked", _next_bt_clicked, li);
+   elm_grid_pack(gd, bt,  52,  80, 20, 10);
+   evas_object_show(bt);
+
+   bt = elm_button_add(win);
+   elm_object_text_set(bt, "Last");
+   evas_object_smart_callback_add(bt, "clicked", _last_bt_clicked, li);
+   elm_grid_pack(gd, bt,  76,  80, 20, 10);
+   evas_object_show(bt);
+
+   lb = elm_label_add(win);
+   elm_object_text_set(lb, "Nothing is selected");
+   elm_grid_pack(gd, lb,  4,  90, 92, 10);
+   evas_object_show(lb);
+
+   evas_object_data_set(li, "label", lb);
+
+   evas_object_show(gd);
+   evas_object_resize(win, 480, 480);
+   evas_object_show(win);
+}
 #endif