static void create_main_view(appdata_s *ad) { Evas_Object *genlist; Evas_Object *circle_genlist; Evas_Object *btn; Evas_Object *nf = ad->nf; Elm_Object_Item *nf_it; Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new(); Elm_Genlist_Item_Class *ttc = elm_genlist_item_class_new(); Elm_Genlist_Item_Class *ptc = elm_genlist_item_class_new(); item_data *id; int index = 0; /* Genlist */ genlist = elm_genlist_add(nf); elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); evas_object_smart_callback_add(genlist, "selected", gl_selected_cb, NULL); circle_genlist = eext_circle_object_genlist_add(genlist, ad->circle_surface); eext_circle_object_genlist_scroller_policy_set(circle_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE); /* Genlist Title Item style */ ttc->item_style = "title"; ttc->func.text_get = _gl_menu_title_text_get; ttc->func.del = _gl_menu_del; /* Genlist Item style */ itc->item_style = "default"; itc->func.text_get = _gl_menu_text_get; itc->func.del = _gl_menu_del; /* Genlist Padding Item style */ ptc->item_style = "padding"; ptc->func.del = _gl_menu_del; /* Title Items Here */ elm_genlist_item_append(genlist, ttc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); /* Main Menu Items Here */ id = (item_data *)calloc(sizeof(item_data), 1); id->index = index++; id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, index_cb, ad); id = (item_data *)calloc(sizeof(item_data), 1); id->index = index++; id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, index_cb, ad); elm_genlist_item_append(genlist, ptc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); elm_genlist_item_class_free(itc); elm_genlist_item_class_free(ttc); elm_genlist_item_class_free(ptc); /* This button is set for devices which doesn't have H/W back key. */ btn = elm_button_add(nf); elm_object_style_set(btn, "naviframe/end_btn/default"); nf_it = elm_naviframe_item_push(nf, NULL, btn, NULL, genlist, "empty"); elm_naviframe_item_pop_cb_set(nf_it, naviframe_pop_cb, ad->win); }
int main(int argc, char **argv) { Evas_Object *win; if (!elm_init(argc, argv)) return -1; win = elm_win_util_standard_add("Genlist", "Genlist Basic Tutorial"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); //win 400x400 px evas_object_resize(win, 400, 400); //GENLIST here Evas_Object *list; list = elm_genlist_add(win); Elm_Genlist_Item_Class *_itc = elm_genlist_item_class_new(); _itc->item_style = "default"; _itc->func.text_get = _genlist_text_get; _itc->func.content_get = _genlist_content_get; _itc->func.state_get = NULL; _itc->func.del = NULL; Elm_Genlist_Item_Class *_itc2 = elm_genlist_item_class_new(); _itc2->item_style = "group_index"; _itc2->func.text_get = _genlist_text_get; _itc2->func.content_get = _genlist_content_get; _itc2->func.state_get = NULL; _itc2->func.del = NULL; int i=0; for (i=0; i<20; i++) { elm_genlist_item_append( list, _itc, (void *)(uintptr_t) i, // Item data NULL, // Parent item for trees, NULL if none ELM_GENLIST_ITEM_NONE, // Item type; this is the common one _genlist_selected_cb, // Callback on selection of the item _itc2 // Data for that callback function ); } evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, list); evas_object_show(list); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
Elm_Object_Item* common_utils_add_dialogue_separator(Evas_Object* genlist, const char *separator_style) { assertm_if(NULL == genlist, "NULL!!"); static Elm_Genlist_Item_Class *separator_itc; separator_itc = elm_genlist_item_class_new(); separator_itc->item_style = separator_style; separator_itc->func.text_get = NULL; separator_itc->func.content_get = NULL; separator_itc->func.state_get = NULL; separator_itc->func.del = __common_utils_separator_del; Elm_Object_Item* sep = elm_genlist_item_append( genlist, separator_itc, separator_itc, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); assertm_if(NULL == sep, "NULL!!"); elm_genlist_item_select_mode_set(sep, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); return sep; }
///////////////// GENLIST ///////////////////////////// static void _entrance_fill_genlist(Evas_Object *obj, Entrance_Fill *ef, Eina_List *contents, Evas_Smart_Cb func) { Eina_List *l; Elm_Genlist_Item_Class *glc; void *content; if (!ef->glc) { glc = elm_genlist_item_class_new(); ef->glc = glc; } else glc = ef->glc; glc->item_style = ef->item_style; glc->func.text_get = ef->func.text_get; glc->func.content_get = ef->func.content_get; glc->func.state_get = ef->func.state_get; glc->func.del = ef->func.del; EINA_LIST_FOREACH(contents, l, content) elm_genlist_item_append(obj, glc, content, NULL, ELM_GENLIST_ITEM_NONE, func, content); }
void _show_hs(void *data, Evas_Object *obj, void *event_info) { elm_genlist_clear(highscores_genlist); if(!_itc) { _itc = elm_genlist_item_class_new(); _itc->item_style = "default"; _itc->func.text_get = _item_label_get; _itc->func.content_get = NULL; _itc->func.state_get = NULL; _itc->func.del = NULL; } Eet_File *eef = eet_open(RESULTS_FILE, EET_FILE_MODE_READ); int game_type = (int)(uintptr_t)(data); int j = 0; for(; j < 10; ++j) { char buf[50]; int *res; sprintf(buf, "%d%d", game_type, j); res = eet_read(eef, buf, NULL); if(res && res[0] != -1) { elm_genlist_item_append(highscores_genlist, _itc, res, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); } } //free(res); //MEMORY LEAK? eet_close(eef); }
GenlistItemClass::GenlistItemClass(const char *itemStyle, const char *decorateItemStyle, const char *decorateAllItemStyle) : m_pClass(nullptr) { m_pClass = elm_genlist_item_class_new(); m_pClass->item_style = itemStyle; m_pClass->decorate_item_style = decorateItemStyle; m_pClass->decorate_all_item_style = decorateAllItemStyle; registerCb(); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *box; Evas_Object *list; win = elm_win_add(NULL, "icon", ELM_WIN_BASIC); elm_win_title_set(win, "Icon"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255,255 ,255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); box = elm_box_add(win); elm_box_horizontal_set(box, EINA_TRUE); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, box); evas_object_show(box); if (!_itc) { _itc = elm_genlist_item_class_new(); _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; } list = _genlist_add(box); _genlist_fill(list); list = _genlist_add(box); elm_genlist_mode_set(list, ELM_LIST_LIMIT); _genlist_fill(list); list = _genlist_add(box); elm_genlist_mode_set(list, ELM_LIST_COMPRESS); _genlist_fill(list); evas_object_size_hint_min_set(bg, 800, 160); evas_object_size_hint_max_set(bg, 800, 640); evas_object_resize(win, 800, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
static Elm_Genlist_Item_Class *_minictrl_gl_style_get(void) { Elm_Genlist_Item_Class *itc = NULL; itc = elm_genlist_item_class_new(); if (!itc) { ERR("fail to elm_genlist_item_class_new()"); return NULL; } itc->item_style = "qp_item/default"; itc->func.text_get = NULL; itc->func.content_get = _minictrl_gl_get_content; itc->func.state_get = _minictrl_gl_get_state; itc->func.del = _minictrl_gl_del; return itc; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win; Evas_Object *list; int i; win = elm_win_util_standard_add("genlist", "Genlist"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); 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; } list = elm_genlist_add(win); for (i = 0; i < N_ITEMS; i++) { elm_genlist_item_append(list, _itc, (void *)(long)i, NULL, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL); } evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, list); evas_object_show(list); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); return 0; }
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 = _item_label_get; if (!strcmp(style, "progress")) ic->func.content_get = _item_content_get_progress; else ic->func.content_get = _item_content_get_default; ic->func.state_get = NULL; ic->func.del = NULL; for (i = 0; i < N_ITEMS; i++) elm_genlist_item_append(obj, ic, (void *)i, NULL, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL); elm_genlist_item_class_free(ic); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *box, *hbox; Evas_Object *list, *btn; int i; win = elm_win_util_standard_add("genlist", "Genlist - simple"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); box = elm_box_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, box); evas_object_show(box); list = elm_genlist_add(win); 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; } Eina_Bool hbounce, vbounce, always, no_sel; Elm_Scroller_Policy hp, vp; Elm_Object_Select_Mode sel_mode; always = no_sel = EINA_FALSE; sel_mode = elm_genlist_select_mode_get(list); if (sel_mode == ELM_OBJECT_SELECT_MODE_ALWAYS) always = EINA_TRUE; else if (sel_mode == ELM_OBJECT_SELECT_MODE_NONE) no_sel = EINA_TRUE; printf("default values:\n"); printf("always select: %d\n", always); elm_scroller_bounce_get(list, &hbounce, &vbounce); printf("bounce - horizontal: %d, vertical: %d\n", hbounce, vbounce); printf("homogeneous: %d\n", elm_genlist_homogeneous_get(list)); printf("horizontal mode: %d\n", elm_genlist_mode_get(list)); printf("longpress timeout: %0.3f\n", elm_genlist_longpress_timeout_get(list)); printf("multi selection: %d\n", elm_genlist_multi_select_get(list)); printf("no selection mode: %d\n", no_sel); elm_scroller_policy_get(list, &hp, &vp); printf("scroller policy - horizontal: %d, vertical: %d\n", hp, vp); printf("block count: %d\n", elm_genlist_block_count_get(list)); printf("\n"); elm_scroller_bounce_set(list, EINA_FALSE, EINA_FALSE); elm_genlist_homogeneous_set(list, EINA_FALSE); elm_genlist_mode_set(list, ELM_LIST_LIMIT); elm_genlist_multi_select_set(list, EINA_TRUE); elm_genlist_select_mode_set(list, ELM_OBJECT_SELECT_MODE_DEFAULT); elm_scroller_policy_set(list, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_ON); elm_genlist_longpress_timeout_set(list, 0.5); elm_genlist_block_count_set(list, 16); for (i = 0; i < N_ITEMS; i++) { elm_genlist_item_append(list, _itc, (void *)(long)i, NULL, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL); } evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, list); evas_object_show(list); hbox = elm_box_add(win); elm_box_horizontal_set(hbox, EINA_TRUE); evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, hbox); evas_object_show(hbox); btn = elm_button_add(win); elm_object_text_set(btn, "Show status"); evas_object_size_hint_weight_set(btn, 0, 0); evas_object_size_hint_align_set(btn, 0.5, 0.5); evas_object_smart_callback_add(btn, "clicked", _show_status_cb, list); elm_box_pack_end(hbox, btn); evas_object_show(btn); btn = elm_button_add(win); elm_object_text_set(btn, "Realize"); evas_object_size_hint_weight_set(btn, 0, 0); evas_object_size_hint_align_set(btn, 0.5, 0.5); evas_object_smart_callback_add(btn, "clicked", _realize_cb, list); elm_box_pack_end(hbox, btn); evas_object_show(btn); evas_object_resize(win, 200, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
/* public functions */ EM_INTERN Eina_Bool em_gui_init(void) { Evas_Object *o, *oo; /* allocate our object */ gui = EM_OBJECT_ALLOC(Em_Gui, EM_GUI_TYPE, _em_gui_cb_free); if (!gui) return EINA_FALSE; /* create window */ gui->w_win = elm_win_add(NULL, "emote", ELM_WIN_BASIC); elm_win_title_set(gui->w_win, "Emote"); elm_win_keyboard_mode_set(gui->w_win, ELM_WIN_KEYBOARD_ALPHA); evas_object_smart_callback_add(gui->w_win, "delete,request", _em_gui_cb_win_del, NULL); /* create background */ o = elm_bg_add(gui->w_win); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(gui->w_win, o); evas_object_show(o); o = elm_box_add(gui->w_win); elm_box_homogeneous_set(o, EINA_FALSE); elm_win_resize_object_add(gui->w_win, o); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_align_set(o, 0.5, 0.5); evas_object_show(o); /* create main toolbar */ gui->w_tb = elm_toolbar_add(gui->w_win); elm_toolbar_icon_size_set(gui->w_tb, (8 * elm_config_scale_get())); elm_toolbar_align_set(gui->w_tb, 1.0); elm_toolbar_shrink_mode_set(gui->w_tb, ELM_TOOLBAR_SHRINK_SCROLL); elm_toolbar_item_append(gui->w_tb, "preferences-system", _("Settings"), _em_gui_cb_settings, NULL); elm_toolbar_item_append(gui->w_tb, "application-exit", _("Quit"), _em_gui_cb_quit, NULL); evas_object_size_hint_weight_set(gui->w_tb, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(gui->w_tb, EVAS_HINT_FILL, 0.0); evas_object_show(gui->w_tb); elm_box_pack_start(o, gui->w_tb); /* create packing box */ gui->w_box = elm_panes_add(gui->w_win); elm_panes_fixed_set(gui->w_box, EINA_FALSE); elm_panes_horizontal_set(gui->w_box, EINA_FALSE); elm_panes_content_left_size_set(gui->w_box, 0.20); evas_object_size_hint_weight_set(gui->w_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(gui->w_box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(o, gui->w_box); evas_object_show(gui->w_box); gui->w_chansel_itc = elm_genlist_item_class_new(); gui->w_chansel_itc->item_style = "default"; gui->w_chansel_itc->func.text_get = _em_gui_chansel_cb_label_get; gui->w_chansel_itc->func.content_get = NULL; gui->w_chansel_itc->func.state_get = NULL; gui->w_chansel_itc->func.del = NULL; /* create channel selector w/ frame */ gui->w_chansel = elm_genlist_add(gui->w_win); elm_genlist_mode_set(gui->w_chansel, ELM_LIST_SCROLL); evas_object_size_hint_min_set(gui->w_chansel, 200, MIN_WIN_HEIGHT); evas_object_size_hint_weight_set(gui->w_chansel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(gui->w_chansel); o = elm_frame_add(gui->w_win); elm_object_part_text_set(o, "default", "Channels"); oo = elm_frame_add(gui->w_win); elm_object_style_set(oo, "pad_small"); elm_object_part_content_set(o, "default", oo); elm_object_part_content_set(oo, "default", gui->w_chansel); elm_object_part_content_set(gui->w_box, "left", o); evas_object_show(oo); evas_object_show(o); /* set min size of window and show it */ evas_object_show(gui->w_win); evas_object_resize(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); gui->servers = eina_hash_string_small_new(_em_gui_server_del); return EINA_TRUE; }
void _init_genlist(Evas_Object *win) { Evas_Object *box, *entry; static Elm_Genlist_Item_Class *_itc = NULL; int i = 0; 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 = "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; } box = elm_box_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, box); evas_object_show(box); glob_genlist = elm_genlist_add(win); evas_object_size_hint_weight_set (glob_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set (glob_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, glob_genlist); evas_object_show(glob_genlist); entry = elm_entry_add(win); elm_entry_single_line_set(entry, EINA_TRUE); evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(entry); /* filling genlist */ for (i = 0; i < N_ITEMS; i++) { Elm_Object_Item *gli = NULL, *glg = NULL; if (i % 7 == 0) { glg = gli = elm_genlist_item_append(glob_genlist, _itc_group, (void *) (long) nitems++, NULL, ELM_GENLIST_ITEM_GROUP, _item_sel_cb, NULL ); elm_genlist_item_select_mode_set( gli, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); } else { gli = elm_genlist_item_append(glob_genlist, _itc, (void *) (long) nitems++, glg, ELM_GENLIST_ITEM_NONE, _item_sel_cb, NULL ); } if (i == 1) glob_test_item = gli; } }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *box, *fbox; Evas_Object *list; Evas_Object *bt_bring_in, *bt_show; Evas_Object *bt_middle_in, *bt_middle_show; Evas_Object *bt_top_in, *bt_top_show; int i; win = elm_win_add(NULL, "icon", ELM_WIN_BASIC); elm_win_title_set(win, "Icon"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255,255 ,255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); box = elm_box_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, box); evas_object_show(box); 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 = "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; } list = elm_genlist_add(win); evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, list); evas_object_show(list); fbox = elm_box_add(win); elm_box_layout_set(fbox, evas_object_box_layout_flow_horizontal, 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); evas_object_show(fbox); _button_add(list, fbox, "prepend", _prepend_cb); _button_add(list, fbox, "append", _append_cb); _button_add(list, fbox, "insert before", _insert_before_cb); _button_add(list, fbox, "insert after", _insert_after_cb); _button_add(list, fbox, "prev", _prev_cb); _button_add(list, fbox, "next", _next_cb); _button_add(list, fbox, "realize", _realize_cb); bt_bring_in = _button_add(list, fbox, "bring #50", NULL); bt_show = _button_add(list, fbox, "show #50", NULL); bt_middle_in = _button_add(list, fbox, "bring to middle #200", NULL); bt_middle_show = _button_add(list, fbox, "show in middle #200", NULL); bt_top_in = _button_add(list, fbox, "bring to top #250", NULL); bt_top_show = _button_add(list, fbox, "show in top #250", NULL); for (i = 0; i < N_ITEMS; i++) { 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(gli, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); } 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); evas_object_size_hint_max_set(bg, 640, 640); evas_object_resize(win, 420, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }