From e791e88d01991e914e50fdab339860af8d82fcff Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Fri, 27 Apr 2012 11:08:58 +0000 Subject: [PATCH] elm test_genlist.c: Merged tree effect test to tree test. You can enable/disable the effect with the radio button. SVN revision: 70518 --- legacy/elementary/src/bin/test.c | 2 - legacy/elementary/src/bin/test_genlist.c | 311 +++++------------------ 2 files changed, 65 insertions(+), 248 deletions(-) diff --git a/legacy/elementary/src/bin/test.c b/legacy/elementary/src/bin/test.c index 62c8834978..74bc6c4fc6 100644 --- a/legacy/elementary/src/bin/test.c +++ b/legacy/elementary/src/bin/test.c @@ -92,7 +92,6 @@ void test_genlist13(void *data, Evas_Object *obj, void *event_info); void test_genlist14(void *data, Evas_Object *obj, void *event_info); void test_genlist15(void *data, Evas_Object *obj, void *event_info); void test_genlist16(void *data, Evas_Object *obj, void *event_info); -void test_genlist17(void *data, Evas_Object *obj, void *event_info); void test_gesture_layer(void *data, Evas_Object *obj, void *event_info); void test_gesture_layer2(void *data, Evas_Object *obj, void *event_info); void test_gesture_layer3(void *data, Evas_Object *obj, void *event_info); @@ -553,7 +552,6 @@ add_tests: ADD_TEST(NULL, "Lists", "Genlist Tree, Insert Sorted", test_genlist13); ADD_TEST(NULL, "Lists", "Genlist Tree, Insert Relative", test_genlist14); ADD_TEST(NULL, "Lists", "Genlist Flip Mode", test_genlist16); - ADD_TEST(NULL, "Lists", "Genlist Tree Effect", test_genlist17); ADD_TEST(NULL, "Lists", "GenGrid", test_gengrid); ADD_TEST(NULL, "Lists", "GenGrid 2", test_gengrid2); ADD_TEST(NULL, "Lists", "GenGrid Group", test_gengrid3); diff --git a/legacy/elementary/src/bin/test_genlist.c b/legacy/elementary/src/bin/test_genlist.c index 9e69942642..c290ca906a 100644 --- a/legacy/elementary/src/bin/test_genlist.c +++ b/legacy/elementary/src/bin/test_genlist.c @@ -1147,23 +1147,19 @@ gl4_exp(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) Elm_Object_Item *glit = event_info; Evas_Object *gl = elm_object_item_widget_get(glit); int val = (int)(long) elm_object_item_data_get(glit); + int i = 0; + val *= 10; - elm_genlist_item_append(gl, itc4, - (void *)(long) (val + 1)/* item data */, - glit/* parent */, ELM_GENLIST_ITEM_NONE, - gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, itc4, - (void *)(long) (val + 2)/* item data */, - glit/* parent */, ELM_GENLIST_ITEM_NONE, - gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, itc4, - (void *)(long) (val + 3)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_TREE, gl4_sel/* func */, - NULL/* func data */); + for (i = 0; i < 10; i++) + { + elm_genlist_item_append(gl, itc4, + (void *)(long) (val + i)/* item data */, + glit/* parent */, + ELM_GENLIST_ITEM_TREE, gl4_sel/* func */, + NULL/* func data */); + } } + static void gl4_con(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) { @@ -1225,10 +1221,22 @@ void gl4_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__) printf("item deleted.\n"); } +static void +_tree_effect_enable_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + elm_genlist_tree_effect_enabled_set(data, EINA_TRUE); +} + +static void +_tree_effect_disable_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + elm_genlist_tree_effect_enabled_set(data, EINA_FALSE); +} + void test_genlist6(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { - Evas_Object *win, *gl, *bx, *bx2, *bt; + Evas_Object *win, *gl, *bx, *fr, *bx2, *rd1, *rd2; win = elm_win_util_standard_add("genlist-tree", "Genlist Tree"); elm_win_autodel_set(win, EINA_TRUE); @@ -1238,13 +1246,47 @@ test_genlist6(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_in elm_win_resize_object_add(win, bx); evas_object_show(bx); + fr = elm_frame_add(win); + elm_object_text_set(fr, "Genlist Tree Effect"); + elm_box_pack_end(bx, fr); + evas_object_show(fr); + + bx2 = elm_box_add(win); + elm_box_horizontal_set(bx2, EINA_TRUE); + elm_box_homogeneous_set(bx2, EINA_TRUE); + evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); + evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_content_set(fr, bx2); + evas_object_show(bx2); + + rd1 = elm_radio_add(win); + elm_radio_state_value_set(rd1, 0); + elm_object_text_set(rd1, "Enable "); + evas_object_show(rd1); + elm_box_pack_end(bx2, rd1); + + rd2 = elm_radio_add(win); + elm_radio_state_value_set(rd2, 1); + elm_radio_group_add(rd1, rd2); + elm_object_text_set(rd2, "Disable"); + evas_object_show(rd2); + elm_box_pack_end(bx2, rd2); + gl = elm_genlist_add(win); evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(gl); + elm_genlist_tree_effect_enabled_set(gl, EINA_TRUE); + + itc1 = elm_genlist_item_class_new(); + itc1->item_style = "default"; + itc1->func.text_get = gl4_text_get; + itc1->func.content_get = gl4_content_get; + itc1->func.state_get = gl4_state_get; + itc1->func.del = gl4_del; itc4 = elm_genlist_item_class_new(); - itc4->item_style = "default"; + itc4->item_style = "tree_effect"; itc4->func.text_get = gl4_text_get; itc4->func.content_get = gl4_content_get; itc4->func.state_get = gl4_state_get; @@ -1256,50 +1298,22 @@ test_genlist6(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_in elm_genlist_item_append(gl, itc4, (void *)2/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_TREE, gl4_sel/* func */, NULL/* func data */); - elm_genlist_item_append(gl, itc4, + elm_genlist_item_append(gl, itc1, (void *)3/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */, NULL/* func data */); + + elm_genlist_item_class_free(itc1); elm_genlist_item_class_free(itc4); + evas_object_smart_callback_add(gl, "expand,request", gl4_exp_req, gl); evas_object_smart_callback_add(gl, "contract,request", gl4_con_req, gl); evas_object_smart_callback_add(gl, "expanded", gl4_exp, gl); evas_object_smart_callback_add(gl, "contracted", gl4_con, gl); elm_box_pack_end(bx, gl); - evas_object_show(bx); - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[1]"); - // evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[0])); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - elm_box_pack_end(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[2]"); - // evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[1])); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - elm_box_pack_end(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[3]"); - // evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[2])); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - elm_box_pack_end(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); + evas_object_smart_callback_add(rd1, "changed", _tree_effect_enable_cb, gl); + evas_object_smart_callback_add(rd2, "changed", _tree_effect_disable_cb, gl); evas_object_resize(win, 320, 320); evas_object_show(win); @@ -2616,199 +2630,4 @@ test_genlist16(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_i evas_object_resize(win, 520, 520); evas_object_show(win); } - -static Elm_Genlist_Item_Class itc17; - -static void -gl17_sel(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - int depth = elm_genlist_item_expanded_depth_get(glit); - printf("expanded depth for selected item is %d\n", depth); -} - -static void -gl17_exp(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - Evas_Object *gl = elm_object_item_widget_get(glit); - int val = (int)(long) elm_object_item_data_get(glit); - val *= 10; - elm_genlist_item_append(gl, &itc17, - (void *)(long) (val + 1)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc17, - (void *)(long) (val + 2)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc17, - (void *)(long) (val + 3)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc17, - (void *)(long) (val + 4)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc17, - (void *)(long) (val + 5)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc17, - (void *)(long) (val + 6)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); -} - -static void -gl17_con(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_subitems_clear(glit); -} - -static void -gl17_exp_req(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_expanded_set(glit, EINA_TRUE); -} - -static void -gl17_con_req(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_expanded_set(glit, EINA_FALSE); -} - -char *gl17_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - char buf[256]; - snprintf(buf, sizeof(buf), "Item mode %i", (int)(long)data); - return strdup(buf); -} - -Evas_Object *gl17_content_get(void *data __UNUSED__, Evas_Object *obj, const char *part) -{ - char buf[PATH_MAX]; - if (!strcmp(part, "elm.swallow.icon")) - { - Evas_Object *ic = elm_icon_add(obj); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - evas_object_show(ic); - return ic; - } - else if (!strcmp(part, "elm.swallow.end")) - { - Evas_Object *ck; - ck = elm_check_add(obj); - evas_object_propagate_events_set(ck, EINA_FALSE); - evas_object_show(ck); - return ck; - } - return NULL; -} - -Eina_Bool gl17_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - return EINA_FALSE; -} - -void gl17_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__) -{ - printf("item deleted.\n"); -} - -static void -gl17_enabled_set(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_genlist_tree_effect_enabled_set(data, EINA_TRUE); -} - -static void -gl17_disabled_set(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_genlist_tree_effect_enabled_set(data, EINA_FALSE); -} - -void -test_genlist17(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win, *gl, *bx, *bx2, *bt; - - win = elm_win_util_standard_add("genlist17", "Genlist Tree Effect"); - elm_win_autodel_set(win, EINA_TRUE); - - 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); - - gl = elm_genlist_add(win); - evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(gl); - - elm_genlist_tree_effect_enabled_set(gl,EINA_TRUE); - - itc17.item_style = "tree_effect"; - itc17.func.text_get = gl17_text_get; - itc17.func.content_get = gl17_content_get; - itc17.func.state_get = gl17_state_get; - itc17.func.del = gl17_del; - - elm_genlist_item_append(gl, &itc17, - (void *)1/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc17, - (void *)2/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc17, - (void *)3/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_TREE, gl17_sel/* func */, - NULL/* func data */); - - evas_object_smart_callback_add(gl, "expand,request", gl17_exp_req, gl); - evas_object_smart_callback_add(gl, "contract,request", gl17_con_req, gl); - evas_object_smart_callback_add(gl, "expanded", gl17_exp, gl); - evas_object_smart_callback_add(gl, "contracted", gl17_con, gl); - - elm_box_pack_end(bx, gl); - evas_object_show(bx); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Enable"); - evas_object_smart_callback_add(bt, "clicked", gl17_enabled_set, gl); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - elm_box_pack_end(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Disable"); - evas_object_smart_callback_add(bt, "clicked", gl17_disabled_set, gl); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - elm_box_pack_end(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} #endif