From 8363bd8dcc2b7ea9b504a711b4a6062a28e0e06d Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Tue, 27 Nov 2012 15:21:27 +0000 Subject: [PATCH] elm test_genlist.c: Added 'Genlist Item Styles' to check more genlist item styles. SVN revision: 79746 --- src/bin/test.c | 2 + src/bin/test_genlist.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) diff --git a/src/bin/test.c b/src/bin/test.c index 57f4aea..573ddca 100644 --- a/src/bin/test.c +++ b/src/bin/test.c @@ -98,6 +98,7 @@ void test_genlist16(void *data, Evas_Object *obj, void *event_info); 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_item_styles(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); @@ -590,6 +591,7 @@ add_tests: ADD_TEST(NULL, "Lists", "Genlist Decorate Modes", test_genlist17); ADD_TEST(NULL, "Lists", "Genlist Tree and Decorate All Mode", test_genlist18); ADD_TEST(NULL, "Lists", "Genlist Full Widget", test_genlist19); + ADD_TEST(NULL, "Lists", "Genlist Item Styles", test_genlist_item_styles); 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/src/bin/test_genlist.c b/src/bin/test_genlist.c index 0de1453..46ee839 100644 --- a/src/bin/test_genlist.c +++ b/src/bin/test_genlist.c @@ -5,6 +5,15 @@ #endif #include #ifndef ELM_LIB_QUICKLAUNCH + +#define WEIGHT evas_object_size_hint_weight_set +#define ALIGN_ evas_object_size_hint_align_set +#define EXPAND(X) WEIGHT((X), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND) +#define FILL(X) ALIGN_((X), EVAS_HINT_FILL, EVAS_HINT_FILL) + +Evas_Object * _elm_min_set(Evas_Object *obj, Evas_Object *parent, + Evas_Coord w, Evas_Coord h); + struct _api_data { unsigned int state; /* What state we are testing */ @@ -3175,4 +3184,98 @@ test_genlist19(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_i evas_object_show(win); } +/* test genlist item styles */ + +const char *_genlist_styles[] = { + "default", "full", "one_icon", "end_icon", "no_icon", + "default_style", "double_label", "icon_top_text_bottom", + NULL +}; + +static void +_genlist_renew(Evas_Object *obj, const char *style) +{ + Elm_Genlist_Item_Class *ic; + int i; + + if (!obj) return; + elm_genlist_clear(obj); + + ic = elm_genlist_item_class_new(); + ic->item_style = style; + ic->func.text_get = gl_text_get; + ic->func.content_get = gl_content_get; + ic->func.state_get = NULL; + ic->func.del = NULL; + + for (i = 0; i < 50; i++) + { + elm_genlist_item_append(obj, ic, (void *)(long)i, NULL, + ELM_GENLIST_ITEM_NONE, NULL, NULL); + } + elm_genlist_item_class_free(ic); +} + +static void +_item_style_sel_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info) +{ + Evas_Object *gl = evas_object_data_get(obj, "genlist"); + if (gl) + _genlist_renew(gl, elm_object_item_text_get(event_info)); +} + +static Evas_Object * +_item_styles_list_create(Evas_Object *parent) +{ + Evas_Object *list; + int i = 0; + + list = elm_list_add(parent); + EXPAND(list); FILL(list); + + while (_genlist_styles[i]) + { + elm_list_item_append(list, _genlist_styles[i], NULL, NULL, + _item_style_sel_cb, _genlist_styles[i]); + i++; + } + + return list; +} + +void +test_genlist_item_styles(void *data __UNUSED__, Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Evas_Object *win, *box, *gl, *list, *table; + + win = elm_win_util_standard_add("genlist-item-styles", "Gengrid Item Styles"); + elm_win_autodel_set(win, EINA_TRUE); + evas_object_resize(win, 600, 600); + evas_object_show(win); + + box = elm_box_add(win); + elm_box_horizontal_set(box, EINA_TRUE); + EXPAND(box); + elm_win_resize_object_add(win, box); + evas_object_show(box); + + list = _item_styles_list_create(box); + evas_object_show(list); + + table = _elm_min_set(list, box, 100, 0); + WEIGHT(table, 0, EVAS_HINT_EXPAND); + FILL(table); + elm_box_pack_end(box, table); + evas_object_show(table); + + gl = elm_genlist_add(box); + EXPAND(gl); FILL(gl); + _genlist_renew(gl, "default"); + elm_box_pack_end(box, gl); + evas_object_show(gl); + + evas_object_data_set(list, "genlist", gl); +} + #endif -- 2.7.4