elm test_genlist.c: Merged tree effect test to tree test. You can enable/disable the effect with the radio button.

SVN revision: 70518
This commit is contained in:
Daniel Juyung Seo 2012-04-27 11:08:58 +00:00
parent 9686b496c6
commit e791e88d01
2 changed files with 65 additions and 248 deletions

View File

@ -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);

View File

@ -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