X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fexamples%2Fgenlist_example_04.c;h=553bfa2764a15ca2a04c48fa8c0ef78768c3c0d4;hb=8b7edf2e89c438ef307e803c02589259e2e8fa4b;hp=a06fc02f639d139276bfc79695fe7646546c704e;hpb=313fc65c381ec0393557eb86737e4c7abe478317;p=framework%2Fuifw%2Felementary.git diff --git a/src/examples/genlist_example_04.c b/src/examples/genlist_example_04.c index a06fc02..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,17 +25,17 @@ _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); } static Evas_Object * -_item_icon_get(void *data __UNUSED__, Evas_Object *obj, const char *part) +_item_content_get(void *data __UNUSED__, Evas_Object *obj, const char *part) { Evas_Object *ic = elm_icon_add(obj); @@ -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 * @@ -65,7 +65,7 @@ _group_label_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNU } static Evas_Object * -_group_icon_get(void *data __UNUSED__, Evas_Object *obj, const char *part __UNUSED__) +_group_content_get(void *data __UNUSED__, Evas_Object *obj, const char *part __UNUSED__) { Evas_Object *ic = elm_icon_add(obj); @@ -81,10 +81,10 @@ _append_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - elm_genlist_item_append(list, &_itc, - (void *)(long)nitems++, NULL, - ELM_GENLIST_ITEM_NONE, - _item_sel_cb, NULL); + elm_genlist_item_append(list, _itc, + (void *)(long)nitems++, NULL, + ELM_GENLIST_ITEM_NONE, + _item_sel_cb, NULL); } @@ -93,10 +93,10 @@ _prepend_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - elm_genlist_item_prepend(list, &_itc, - (void *)(long)nitems++, NULL, - ELM_GENLIST_ITEM_NONE, - _item_sel_cb, NULL); + elm_genlist_item_prepend(list, _itc, + (void *)(long)nitems++, NULL, + ELM_GENLIST_ITEM_NONE, + _item_sel_cb, NULL); } @@ -104,15 +104,14 @@ static void _insert_before_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - Elm_Genlist_Item *it = elm_genlist_selected_item_get(list); + Elm_Object_Item *glit = elm_genlist_selected_item_get(list); - if (!it) - return; + if (!glit) return; - elm_genlist_item_insert_before(list, &_itc, - (void *)(long)nitems++, NULL, - it, ELM_GENLIST_ITEM_NONE, - _item_sel_cb, NULL); + elm_genlist_item_insert_before(list, _itc, + (void *)(long)nitems++, NULL, + glit, ELM_GENLIST_ITEM_NONE, + _item_sel_cb, NULL); } @@ -120,15 +119,14 @@ static void _insert_after_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - Elm_Genlist_Item *it = elm_genlist_selected_item_get(list); + Elm_Object_Item *glit = elm_genlist_selected_item_get(list); - if (!it) - return; + if (!glit) return; - elm_genlist_item_insert_after(list, &_itc, - (void *)(long)nitems++, NULL, - it, ELM_GENLIST_ITEM_NONE, - _item_sel_cb, NULL); + elm_genlist_item_insert_after(list, _itc, + (void *)(long)nitems++, NULL, + glit, ELM_GENLIST_ITEM_NONE, + _item_sel_cb, NULL); } @@ -136,112 +134,90 @@ static void _next_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - Elm_Genlist_Item *it; + Elm_Object_Item *glit = elm_genlist_selected_item_get(list); - it = elm_genlist_selected_item_get(list); - if (it) - it = elm_genlist_item_next_get(it); + if (glit) glit = elm_genlist_item_next_get(glit); + if (!glit) glit = elm_genlist_first_item_get(list); - if (!it) - it = elm_genlist_first_item_get(list); - - elm_genlist_item_selected_set(it, EINA_TRUE); - elm_genlist_item_show(it); + elm_genlist_item_selected_set(glit, EINA_TRUE); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_IN); } static void _prev_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - Elm_Genlist_Item *it; - - it = elm_genlist_selected_item_get(list); - if (it) - it = elm_genlist_item_prev_get(it); + Elm_Object_Item *glit = elm_genlist_selected_item_get(list); - if (!it) - it = elm_genlist_last_item_get(list); + if (glit) glit = elm_genlist_item_prev_get(glit); + if (!glit) glit = elm_genlist_last_item_get(list); - elm_genlist_item_selected_set(it, EINA_TRUE); - elm_genlist_item_show(it); + elm_genlist_item_selected_set(glit, EINA_TRUE); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_IN); } static void _bring_in_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { - Elm_Genlist_Item *it = data; + Elm_Object_Item *glit = data; + if (!glit) return; - if (!it) - return; - - elm_genlist_item_bring_in(it); + elm_genlist_item_bring_in(glit, ELM_GENLIST_ITEM_SCROLLTO_IN); } static void _show_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { - Elm_Genlist_Item *it = data; - - if (!it) - return; + Elm_Object_Item *glit = data; + if (!glit) return; - elm_genlist_item_show(it); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_IN); } static void _middle_in_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { - Elm_Genlist_Item *it = data; + Elm_Object_Item *glit = data; + if (!glit) return; - if (!it) - return; - - elm_genlist_item_middle_bring_in(it); + elm_genlist_item_bring_in(glit, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); } static void _middle_show_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { - Elm_Genlist_Item *it = data; - - if (!it) - return; + Elm_Object_Item *glit = data; + if (!glit) return; - elm_genlist_item_middle_show(it); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); } static void _top_in_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { - Elm_Genlist_Item *it = data; - - if (!it) - return; + Elm_Object_Item *glit = data; + if (!glit) return; - elm_genlist_item_top_bring_in(it); + elm_genlist_item_bring_in(glit, ELM_GENLIST_ITEM_SCROLLTO_TOP); } static void _top_show_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { - Elm_Genlist_Item *it = data; + Elm_Object_Item *glit = data; + if (!glit) return; - if (!it) - return; - - elm_genlist_item_top_show(it); + elm_genlist_item_show(glit, ELM_GENLIST_ITEM_SCROLLTO_TOP); } static void _realize_cb(void *data, Evas_Object *o __UNUSED__, void *event_info __UNUSED__) { Evas_Object *list = data; - Elm_Genlist_Item *it = elm_genlist_selected_item_get(list); - - if (!it) - return; + Elm_Object_Item *glit = elm_genlist_selected_item_get(list); + if (!glit) return; - elm_genlist_item_update(it); + elm_genlist_item_update(glit); } static Evas_Object * @@ -287,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.label_get = _item_label_get; - _itc.func.icon_get = _item_icon_get; - _itc.func.state_get = NULL; - _itc.func.del = NULL; - - _itc_group.item_style = "group_index"; - _itc_group.func.label_get = _group_label_get; - _itc_group.func.icon_get = _group_icon_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); @@ -308,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); @@ -330,47 +314,47 @@ elm_main(int argc __UNUSED__, char **argv __UNUSED__) for (i = 0; i < N_ITEMS; i++) { - Elm_Genlist_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); - } + 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_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);