X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fexamples%2Fgenlist_example_04.c;h=553bfa2764a15ca2a04c48fa8c0ef78768c3c0d4;hb=8b7edf2e89c438ef307e803c02589259e2e8fa4b;hp=5132f71e04729fb81af17d398eca0a8656ded523;hpb=acaed36a642b0021536a8be5d0b9e16815e61b2c;p=framework%2Fuifw%2Felementary.git diff --git a/src/examples/genlist_example_04.c b/src/examples/genlist_example_04.c index 5132f71..553bfa2 100644 --- a/src/examples/genlist_example_04.c +++ b/src/examples/genlist_example_04.c @@ -10,8 +10,8 @@ #define N_ITEMS 300 -static Elm_Genlist_Item_Class _itc; -static Elm_Genlist_Item_Class _itc_group; +static Elm_Genlist_Item_Class *_itc = NULL; +static Elm_Genlist_Item_Class *_itc_group = NULL; static int nitems = 0; static char * @@ -25,10 +25,10 @@ _item_label_get(void *data, Evas_Object *obj __UNUSED__, const char *part) snprintf(buf, sizeof(buf), "Item # %i", i); else { - int n; - snprintf(buf, sizeof(buf), "realized at %s", ctime(&t)); - n = strlen(buf); - buf[n - 1] = '\0'; + int n; + snprintf(buf, sizeof(buf), "realized at %s", ctime(&t)); + n = strlen(buf); + buf[n - 1] = '\0'; } return strdup(buf); @@ -50,7 +50,7 @@ static void _item_sel_cb(void *data, Evas_Object *obj, void *event_info) { printf("sel item data [%p] on genlist obj [%p], item pointer [%p]\n", - data, obj, event_info); + data, obj, event_info); } static char * @@ -81,7 +81,7 @@ _append_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - elm_genlist_item_append(list, &_itc, + elm_genlist_item_append(list, _itc, (void *)(long)nitems++, NULL, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL); @@ -93,7 +93,7 @@ _prepend_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - elm_genlist_item_prepend(list, &_itc, + elm_genlist_item_prepend(list, _itc, (void *)(long)nitems++, NULL, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL); @@ -108,7 +108,7 @@ _insert_before_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUS if (!glit) return; - elm_genlist_item_insert_before(list, &_itc, + elm_genlist_item_insert_before(list, _itc, (void *)(long)nitems++, NULL, glit, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL); @@ -123,7 +123,7 @@ _insert_after_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSE if (!glit) return; - elm_genlist_item_insert_after(list, &_itc, + elm_genlist_item_insert_after(list, _itc, (void *)(long)nitems++, NULL, glit, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL); @@ -140,7 +140,7 @@ _next_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) if (!glit) glit = elm_genlist_first_item_get(list); elm_genlist_item_selected_set(glit, EINA_TRUE); - elm_genlist_item_show(glit); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_IN); } static void @@ -153,7 +153,7 @@ _prev_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) if (!glit) glit = elm_genlist_last_item_get(list); elm_genlist_item_selected_set(glit, EINA_TRUE); - elm_genlist_item_show(glit); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_IN); } static void @@ -162,7 +162,7 @@ _bring_in_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) Elm_Object_Item *glit = data; if (!glit) return; - elm_genlist_item_bring_in(glit); + elm_genlist_item_bring_in(glit, ELM_GENLIST_ITEM_SCROLLTO_IN); } static void @@ -171,7 +171,7 @@ _show_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) Elm_Object_Item *glit = data; if (!glit) return; - elm_genlist_item_show(glit); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_IN); } static void @@ -180,7 +180,7 @@ _middle_in_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__ Elm_Object_Item *glit = data; if (!glit) return; - elm_genlist_item_middle_bring_in(glit); + elm_genlist_item_bring_in(glit, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); } static void @@ -189,7 +189,7 @@ _middle_show_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED Elm_Object_Item *glit = data; if (!glit) return; - elm_genlist_item_middle_show(glit); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); } static void @@ -198,7 +198,7 @@ _top_in_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) Elm_Object_Item *glit = data; if (!glit) return; - elm_genlist_item_top_bring_in(glit); + elm_genlist_item_bring_in(glit, ELM_GENLIST_ITEM_SCROLLTO_TOP); } static void @@ -207,7 +207,7 @@ _top_show_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) Elm_Object_Item *glit = data; if (!glit) return; - elm_genlist_item_top_show(glit); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_TOP); } static void @@ -263,18 +263,26 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__) elm_win_resize_object_add(win, box); evas_object_show(box); - _itc.item_style = "double_label"; - _itc.func.text_get = _item_label_get; - _itc.func.content_get = _item_content_get; - _itc.func.state_get = NULL; - _itc.func.del = NULL; - - _itc_group.item_style = "group_index"; - _itc_group.func.text_get = _group_label_get; - _itc_group.func.content_get = _group_content_get; - _itc_group.func.state_get = NULL; - _itc_group.func.del = NULL; + if (!_itc) + { + _itc = elm_genlist_item_class_new(); + _itc->item_style = "default"; + _itc->func.text_get = _item_label_get; + _itc->func.content_get = _item_content_get; + _itc->func.state_get = NULL; + _itc->func.del = NULL; + } + if (!_itc_group) + { + _itc_group = elm_genlist_item_class_new(); + _itc_group->item_style = "default"; + _itc_group->func.text_get = _item_label_get; + _itc_group->func.content_get = _item_content_get; + _itc_group->func.state_get = NULL; + _itc_group->func.del = NULL; + } + list = elm_genlist_add(win); evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -284,7 +292,7 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__) fbox = elm_box_add(win); elm_box_layout_set(fbox, evas_object_box_layout_flow_horizontal, - NULL, NULL); + NULL, NULL); evas_object_size_hint_weight_set(fbox, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(fbox, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, fbox); @@ -308,45 +316,45 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__) { Elm_Object_Item *gli, *glg; - if (i % 7 == 0) - { - glg = gli = elm_genlist_item_append(list, &_itc_group, - (void *)(long)nitems++, NULL, - ELM_GENLIST_ITEM_GROUP, - _item_sel_cb, NULL); - elm_genlist_item_display_only_set(glg, EINA_TRUE); - } - else - { - gli = elm_genlist_item_append(list, &_itc, - (void *)(long)nitems++, glg, - ELM_GENLIST_ITEM_NONE, - _item_sel_cb, NULL); - } - - switch (i) - { - case 3: - elm_genlist_item_disabled_set(gli, EINA_TRUE); - break; - case 50: - evas_object_smart_callback_add( - bt_bring_in, "clicked", _bring_in_cb, gli); - evas_object_smart_callback_add( - bt_show, "clicked", _show_cb, gli); - break; - case 200: - evas_object_smart_callback_add( - bt_middle_in, "clicked", _middle_in_cb, gli); - evas_object_smart_callback_add( - bt_middle_show, "clicked", _middle_show_cb, gli); - break; - case 250: - evas_object_smart_callback_add( - bt_top_in, "clicked", _top_in_cb, gli); - evas_object_smart_callback_add( - bt_top_show, "clicked", _top_show_cb, gli); - } + if (i % 7 == 0) + { + glg = gli = elm_genlist_item_append(list, _itc_group, + (void *)(long)nitems++, NULL, + ELM_GENLIST_ITEM_GROUP, + _item_sel_cb, NULL); + elm_genlist_item_select_mode_set(git, ELM_OBJECT_DISPLAY_ONLY_SELECT); + } + else + { + gli = elm_genlist_item_append(list, _itc, + (void *)(long)nitems++, glg, + ELM_GENLIST_ITEM_NONE, + _item_sel_cb, NULL); + } + + switch (i) + { + case 3: + elm_object_item_disabled_set(gli, EINA_TRUE); + break; + case 50: + evas_object_smart_callback_add( + bt_bring_in, "clicked", _bring_in_cb, gli); + evas_object_smart_callback_add( + bt_show, "clicked", _show_cb, gli); + break; + case 200: + evas_object_smart_callback_add( + bt_middle_in, "clicked", _middle_in_cb, gli); + evas_object_smart_callback_add( + bt_middle_show, "clicked", _middle_show_cb, gli); + break; + case 250: + evas_object_smart_callback_add( + bt_top_in, "clicked", _top_in_cb, gli); + evas_object_smart_callback_add( + bt_top_show, "clicked", _top_show_cb, gli); + } } evas_object_size_hint_min_set(bg, 160, 160);