void create_list_view(appdata_s *ad) { Evas_Object *list; Evas_Object *btn; Evas_Object *nf = ad->navi; Elm_Object_Item *nf_it; /* List */ list = elm_list_add(nf); elm_list_mode_set(list, ELM_LIST_COMPRESS); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); /* Main Menu Items Here */ elm_list_item_append(list, "Wait Connection", NULL, NULL, _wait_cb, ad); elm_list_item_append(list, "Gesture Setting", NULL, NULL, _setting_cb, ad); elm_list_go(list); /* 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, "Gear Presentor", btn, NULL, list, NULL); elm_naviframe_item_pop_cb_set(nf_it, _naviframe_pop_cb, ad); }
static void on_to_select(void *data, Evas_Object *obj, void *event_info) { Evas_Object *win, *li, *bx, *bt; Eina_List *l; win = window; inwin = elm_win_inwin_add(win); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); li = elm_list_add(win); evas_object_size_hint_weight_set(li, 1.0, 1.0); evas_object_size_hint_align_set(li, -1.0, -1.0); elm_box_pack_end(bx, li); for (l = (Eina_List *)data_contacts_all_list(); l; l = l->next) { Data_Contact *ctc = l->data; Evas_Object *ph; char buf[1024]; char *file, *name; if (!ctc->tel.numbers) continue; name = data_contact_name_get(ctc); if (!name) continue; ph = elm_photo_add(win); elm_photo_size_set(ph, 20); file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(ph, file); free(file); } elm_list_item_append(li, name, ph, NULL, on_contact_select, ctc); evas_object_show(ph); free(name); } elm_list_item_append(li, "... Other", NULL, NULL, on_contact_select, NULL); elm_list_go(li); evas_object_show(li); bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_select_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin, bx); evas_object_show(bx); elm_win_inwin_activate(inwin); }
static void device_list_device_add(Eupnp_Device_Info *d) { IGD_Device *device; device = malloc(sizeof(IGD_Device)); if (!device) { ERR("Failed to create a new device list item."); return; } device->device = eupnp_device_info_ref(d); device->item = elm_list_item_append(li, d->friendly_name ? d->friendly_name : "Unnamed device", NULL, // Icon NULL, list_item_activate, device); elm_list_item_show(device->item); elm_list_go(li); INF("Appending device %s to list!", d->udn); device_list = eina_list_append(device_list, device); }
/* Add or Update Contact details */ static void add_update_user(Db_Entry NewContact) { Db_Entry *entry; if (App.editing) { Db_Entry *contact; contact = elm_list_item_data_get(App.selection); /* Replace strings on memory */ eina_stringshare_replace(&(contact->Name), NewContact.Name); eina_stringshare_replace(&(contact->Email), NewContact.Email); eina_stringshare_replace(&(contact->Phone), NewContact.Phone); eina_stringshare_replace(&(contact->Street), NewContact.Street); eina_stringshare_replace(&(contact->Neighborhood), NewContact.Neighborhood); contact->Gender = NewContact.Gender; /* Update Elementary List */ elm_list_item_label_set(App.selection, NewContact.Name); } else { /* Add New Entry on DB */ entry = db_append(App._db, NewContact); elm_list_item_append(App.contactlist, entry->Name, NULL, NULL, NULL, entry); elm_list_go(App.contactlist); } }
void screen_reader_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *nf = data; Evas_Object *list; Evas_Object *screen_reader_onoff_check; list = elm_list_add(nf); elm_list_mode_set(list, ELM_LIST_COMPRESS); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); screen_reader_on = is_screen_reader_running(); screen_reader_onoff_check = elm_check_add(list); elm_object_style_set(screen_reader_onoff_check, "on&off"); elm_check_state_set(screen_reader_onoff_check, screen_reader_on); evas_object_smart_callback_add(screen_reader_onoff_check, "changed", check_changed_cb, NULL); evas_object_propagate_events_set(screen_reader_onoff_check, EINA_FALSE); elm_list_item_append(list, "UI Descriptions", NULL, NULL, description_cb, nf); elm_list_item_append(list, "UI Reading order", NULL, NULL, reading_order_cb, nf); elm_list_item_append(list, "Custom Frame", NULL, NULL, custom_frame_cb, nf); elm_list_item_prepend(list, "Screen Reader (TTS)", NULL, screen_reader_onoff_check, screen_reader_item_cb, screen_reader_onoff_check); elm_list_go(list); elm_naviframe_item_push(nf, "Screen Reader", NULL, NULL, list, NULL); }
static void create_list_view(appdata_s *ad) { Evas_Object *list; Evas_Object *btn; Evas_Object *nf = ad->nf; Elm_Object_Item *nf_it; // List list = elm_list_add(nf); elm_list_mode_set(list, ELM_LIST_COMPRESS); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); // Main Menu Items Here elm_list_item_append(list, "Group APIs", NULL, NULL, group_cb, nf); elm_list_item_append(list, "Configuration APIs", NULL, NULL, configuration_cb, nf); elm_list_go(list); // 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, "Things Manager", btn, NULL, list, NULL); elm_naviframe_item_pop_cb_set(nf_it, naviframe_pop_cb, ad->win); }
void populate_converters_list(Evas_Object *list, Pginfo *info) { elm_list_item_append(list, "Distance Converter", NULL, NULL, converter_distance, info); elm_list_item_append(list, "Temperature Converter", NULL, NULL, converter_temperature, NULL); elm_list_go(list); }
void populate_measurements_list_out(Evas_Object *list, Evas_Object *ed, Pginfo *info) { elm_list_item_append(list, "Kilometer", NULL, NULL, km_out, ed); elm_list_item_append(list, "Meter", NULL, NULL, m_out, ed); elm_list_item_append(list, "Centimeter", NULL, NULL, cm_out, ed); elm_list_go(list); }
static void _del_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Object_Item *selected_item; Evas_Object *li = data; selected_item = elm_list_selected_item_get(li); elm_object_item_del(selected_item); elm_list_go(li); }
static void _set_separator_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Object_Item *selected_item; Evas_Object *li = data; selected_item = elm_list_selected_item_get(li); if (!selected_item) return; elm_list_item_separator_set(selected_item, EINA_TRUE); elm_list_go(li); }
///////////////// LIST /////////////////////////////// static void _entrance_fill_list(Evas_Object *obj, Entrance_Fill *ef, Eina_List *contents, Evas_Smart_Cb func) { Eina_List *l; void *content; EINA_LIST_FOREACH(contents, l, content) elm_list_item_append(obj, ef->func.text_get(content, NULL, NULL), NULL, NULL, func, content); elm_list_go(obj); }
static void _add_func_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Object_Item *list_it; Evas_Object *li = data; char label[32]; snprintf(label, sizeof(label), "Item %i", counter++); list_it = elm_list_item_append(li, label, NULL, NULL, _sel_cb, NULL); elm_list_go(li); if (!list_it) printf("Error adding item\n"); }
/* Load Contact Details into Contactlist (Elementary List) */ static void list_load () { const Eina_List *list; Db_Entry *entry; elm_list_clear(App.contactlist); EINA_LIST_FOREACH(db_list_get(App._db), list, entry) elm_list_item_append(App.contactlist, entry->Name , NULL, NULL, NULL, entry); elm_list_go(App.contactlist); }
static void _add_ic_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Object_Item *list_it; Evas_Object *ic, *li = data; char label[32]; snprintf(label, sizeof(label), "Item %i", counter++); ic = elm_icon_add(li); elm_icon_standard_set(ic, "home"); elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE); list_it = elm_list_item_append(li, label, ic, NULL, NULL, NULL); elm_list_go(li); if (!list_it) printf("Error adding item with icon\n"); }
static void _insert_before_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Object_Item *selected_item, *list_it; Evas_Object *li = data; char label[32]; selected_item = elm_list_selected_item_get(li); if (!selected_item) return; snprintf(label, sizeof(label), "Item %i", counter++); list_it = elm_list_item_insert_before(li, selected_item, label, NULL, NULL, NULL, NULL); elm_list_go(li); if (!list_it) printf("Error adding item\n"); }
static Evas_Object * create_main_list(Evas_Object *parent) { Evas_Object *list = elm_list_add(parent); elm_list_mode_set(list, ELM_LIST_COMPRESS); elm_list_item_append(list, "2 Items with Title", NULL, NULL, toolbar_2_items_text_style_cb, parent); elm_list_item_append(list, "3 Items with Title", NULL, NULL, toolbar_3_items_text_style_cb, parent); elm_list_item_append(list, "4 Items with Title", NULL, NULL, toolbar_4_items_text_style_cb, parent); elm_list_item_append(list, "Multiple Items with Title", NULL, NULL, scrollable_style_cb, parent); elm_list_go(list); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); evas_object_show(list); return list; }
static Evas_Object * create_song_list(Evas_Object *parent) { Evas_Object *list = elm_list_add(parent); elm_list_mode_set(list, ELM_LIST_COMPRESS); elm_list_item_append(list, "Eina", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Evas", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Ecore", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Elementary", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Edje", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Eet", NULL, NULL, NULL, NULL); elm_list_go(list); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); evas_object_show(list); return list; }
static Evas_Object * create_artists_list(Evas_Object *parent) { Evas_Object *list = elm_list_add(parent); elm_list_mode_set(list, ELM_LIST_COMPRESS); elm_list_item_append(list, "Tab Bar", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Navigation Bar", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Slider", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Genlist", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Tool Bar", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Color Picker", NULL, NULL, NULL, NULL); elm_list_go(list); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); evas_object_show(list); return list; }
static void _add_data_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Object_Item *list_it; Evas_Object *li = data; char label[32]; char *content = malloc(sizeof(char) * 32); snprintf(content, 32, "Item content %i", counter); snprintf(label, sizeof(label), "Item %i", counter++); list_it = elm_list_item_append(li, label, NULL, NULL, _sel_data_cb, content); elm_list_go(li); if (!list_it) { printf("Error adding item\n"); return; } elm_object_item_del_cb_set(list_it, _free_data); }
SH_API Eina_Bool _read_stdin_list(void *data, Ecore_Fd_Handler *fd_handler) { char **splitted; char *buffer; char c; int i = 0; int len = 0; Evas_Object *obj = data; if (!_stdin_prepare(fd_handler)) return 0; // allocate initial buffer buffer = malloc(sizeof(char)); // get the buffer do { c = getc(stdin); buffer[i] = c; buffer = realloc(buffer, i + sizeof(buffer)); i++; } while (c != EOF); // terminate the string. buffer[i - 1] = '\0'; // split and append splitted = eina_str_split_full(buffer, "\n", 0, &len); for (i = 0; i < len; i++) elm_list_item_append(obj, splitted[i], NULL, NULL, NULL, NULL); elm_object_item_del(eina_list_data_get(eina_list_last(elm_list_items_get(obj)))); elm_list_go(obj); // free the the pointers, delete handler when we don't need it E_FREE(splitted); E_FREE(buffer); ecore_main_fd_handler_del(fd_handler); return 0; }
static Evas_Object * create_dialer_list(Evas_Object *parent) { Evas_Object *list = elm_list_add(parent); elm_list_mode_set(list, ELM_LIST_COMPRESS); elm_list_item_append(list, "Aquila", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Pantheon", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Kessler", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Neptune", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Aqua", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Beat", NULL, NULL, NULL, NULL); elm_list_item_append(list, "NBeat", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Tizen", NULL, NULL, NULL, NULL); elm_list_go(list); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); evas_object_show(list); return list; }
static Evas_Object* _create_list_winset(Evas_Object* parent, struct appdata* ad) { Evas_Object *li; int idx = 0; //struct _menu_item *menu_its; int ret; ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_FONT_SIZE, system_settings_changed_font_size, NULL); ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_FONT_TYPE, system_settings_changed_font_type, NULL); if (ret < 0) { printf("SYSTEM_SETTINGS_KEY_FONT_TYPE returns negative values = %d \n", ret); } else { printf("SYSTEM_SETTINGS_KEY_FONT_TYPE returns positive values = %d, means successful return. \n", ret); } // callback registration ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, system_settings_changed_motion_activation, NULL); if (ret < 0) { printf("SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION returns negative values = %d \n", ret); } else { printf("SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION returns positive values = %d, means successful return. \n", ret); } li = elm_list_add(parent); elm_list_mode_set(li, ELM_LIST_COMPRESS); elm_list_item_append( li, "QUIT", NULL, NULL, list_item_touch_handler_exit, ad); elm_list_item_append( li, "font size - bigger ", NULL, NULL, list_item_touch_handler1, ad); elm_list_item_append( li, "font size - normal ", NULL, NULL, list_item_touch_handler2, ad); elm_list_item_append( li, "font type - choose Helvetica 1 ", NULL, NULL, list_item_touch_handler3, ad); elm_list_item_append( li, "font type - choose Helvetica 2 ", NULL, NULL, list_item_touch_handler4, ad); elm_list_item_append( li, "motion activation ON ", NULL, NULL, list_item_touch_handler5, ad); elm_list_item_append( li, "motion activation OFF ", NULL, NULL, list_item_touch_handler6, ad); elm_list_go(li); return li; }
static Evas_Object * create_play_list(Evas_Object *parent) { Evas_Object *list = elm_list_add(parent); elm_list_mode_set(list, ELM_LIST_COMPRESS); elm_list_item_append(list, "Music", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Message", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Call", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Memo", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Alarm", NULL, NULL, NULL, NULL); elm_list_item_append(list, "SNS", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Email", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Worldclock", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Conventer", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Stopwatch", NULL, NULL, NULL, NULL); elm_list_item_append(list, "Calculator", NULL, NULL, NULL, NULL); elm_list_go(list); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); evas_object_show(list); return list; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *bx, *hbx, *li, *bt; win = elm_win_add(NULL, "list", ELM_WIN_BASIC); elm_win_title_set(win, "List Items Example"); evas_object_smart_callback_add(win, "delete,request", _on_done, NULL); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); 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); li = elm_list_add(win); evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, li); elm_list_item_append(li, "Item 0", NULL, NULL, NULL, NULL); elm_list_item_append(li, "Item 1", NULL, NULL, NULL, NULL); elm_list_item_append(li, "Item 2", NULL, NULL, NULL, NULL); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Prepend item"); evas_object_smart_callback_add(bt, "clicked", _prepend_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append item"); evas_object_smart_callback_add(bt, "clicked", _add_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Append with icon"); evas_object_smart_callback_add(bt, "clicked", _add_ic_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append with selected function"); evas_object_smart_callback_add(bt, "clicked", _add_func_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append with data"); evas_object_smart_callback_add(bt, "clicked", _add_data_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Delete item"); evas_object_smart_callback_add(bt, "clicked", _del_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Unselect item"); evas_object_smart_callback_add(bt, "clicked", _unselect_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Print items"); evas_object_smart_callback_add(bt, "clicked", _print_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Clear"); evas_object_smart_callback_add(bt, "clicked", _clear_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Select next item"); evas_object_smart_callback_add(bt, "clicked", _select_next_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Insert after item"); evas_object_smart_callback_add(bt, "clicked", _insert_after_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Select previous item"); evas_object_smart_callback_add(bt, "clicked", _select_prev_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Insert before item"); evas_object_smart_callback_add(bt, "clicked", _insert_before_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Set as separator"); evas_object_smart_callback_add(bt, "clicked", _set_separator_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Disable item"); evas_object_smart_callback_add(bt, "clicked", _disable_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); elm_list_go(li); evas_object_show(li); evas_object_resize(win, 320, 600); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
static void set_api_state(api_data *api) { /** HOW TO TEST ************************ 0 ITEM PREPEND Scroll to end 1 INSERT BEFORE Scroll to end 2 INSERT AFTER 3 INSERT SEPERATOR Scroll to end 4 ITEM DEL 5 POLICY ON, BOUNCE_SET(TRUE, TRUE) 6 POLICY OFF Scroll to end 7 TOOLTIP last-item 8 Cancel tootip 9 Curosr set on last item 10 Cursor style set last item 11 DISABLE last item 12 MODE COMPRESS 13 MODE LIMIT 14 MODE EXPAND 15 HORIZ SET 16 VERT MODE, BOUNCE(TRUE, FALSE) try to bounce on Y-axis 17 List clear *** HOW TO TEST ***********************/ Evas_Object *li = api->list; switch(api->state) { /* Put all api-changes under switch */ case ITEM_PREPEND: /* 0 */ { const Eina_List *items = elm_list_items_get(li); elm_list_item_prepend(li, "PREPEND", NULL, NULL, NULL, NULL); elm_list_go(li); elm_list_item_bring_in(eina_list_nth(items, 0)); } break; case ITEM_INSERT_BEFORE: /* 1 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_list_item_insert_before(li, eina_list_nth(items, eina_list_count(items)-1), "1-before-last", NULL, NULL, NULL, NULL); elm_list_go(li); elm_list_item_bring_in(eina_list_data_get(eina_list_last(items))); } } break; case ITEM_INSERT_AFTER: /* 2 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_list_item_insert_after(li, eina_list_nth(items, eina_list_count(items)-2), "insert-after", NULL, NULL, NULL, NULL); elm_list_go(li); elm_list_item_bring_in(eina_list_data_get(eina_list_last(items))); } } break; case ITEM_SEPARATOR_SET: /* 3 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_list_item_separator_set(eina_list_nth(items, eina_list_count(items)-3), EINA_TRUE); elm_list_item_bring_in(eina_list_nth(items, eina_list_count(items)-3)); elm_list_go(li); } } break; case LIST_ITEM_DEL: /* 4 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_object_item_del(eina_list_data_get(eina_list_last(items))); } } break; case SCROLLER_POLICY_SET_ON: /* 5 */ elm_scroller_bounce_set(li, EINA_TRUE, EINA_TRUE); elm_scroller_policy_set(li, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON); break; case SCROLLER_POLICY_SET_OFF: /* Back to AUTO next (6) */ elm_scroller_policy_set(li, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); break; case TOOLTIP_TEXT_SET: /* 7 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_object_item_tooltip_text_set(eina_list_data_get(eina_list_last(items)), "Tooltip set from API"); } elm_scroller_policy_set(li, ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_AUTO); } break; case TOOLTIP_UNSET: /* 8 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_object_item_tooltip_unset(eina_list_data_get(eina_list_last(items))); } } break; case ITEM_CURSOR_SET: /* 9 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_object_item_cursor_set(eina_list_data_get(eina_list_last(items)), ELM_CURSOR_HAND2); } } break; case ITEM_CURSOR_STYLE_SET: /* 10 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_object_item_cursor_style_set(eina_list_data_get(eina_list_last(items)), "transparent"); } } break; case DISABLED_SET: /* 11 */ { const Eina_List *items = elm_list_items_get(li); if (eina_list_count(items)) { elm_object_item_disabled_set(eina_list_data_get(eina_list_last(items)), EINA_TRUE); } } break; case MODE_SET_COMPRESS: /* 12 */ elm_list_mode_set(li, ELM_LIST_COMPRESS); break; case MODE_SET_LIMIT: /* 13 */ elm_list_mode_set(li, ELM_LIST_LIMIT); break; case MODE_SET_EXPAND: /* 14 */ elm_list_mode_set(li, ELM_LIST_EXPAND); break; case HORIZONTAL_SET: /* 15 */ elm_list_mode_set(li, ELM_LIST_SCROLL); /* return to default mode */ elm_list_horizontal_set(li, EINA_TRUE); break; case BOUNCE_SET: /* 16 */ elm_list_horizontal_set(li, EINA_FALSE); elm_scroller_bounce_set(li, EINA_TRUE, EINA_FALSE); break; case LIST_CLEAR: /* 17 */ elm_list_clear(li); break; case API_STATE_LAST: break; default: return; } }
void List::go () { elm_list_go (o); }
static void on_contact_select(void *data, Evas_Object *obj, void *event_info) { Data_Contact *ctc = data; if (!ctc) { Evas_Object *win, *bx, *bt, *sc, *en; win = window; inwin2 = elm_win_inwin_add(win); elm_object_style_set(inwin2, "minimal_vertical"); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); sc = elm_scroller_add(win); elm_scroller_content_min_limit(sc, 0, 1); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, 0.5); elm_box_pack_end(bx, sc); en = elm_entry_add(win); elm_entry_single_line_set(en, 1); elm_entry_entry_set(en, "Enter number..."); evas_object_size_hint_weight_set(en, 1.0, 0.0); evas_object_size_hint_align_set(en, -1.0, 0.0); elm_entry_select_all(en); elm_scroller_content_set(sc, en); evas_object_show(en); evas_object_show(sc); number_entry = en; bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_number_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin2, bx); evas_object_show(bx); elm_win_inwin_activate(inwin2); elm_object_focus(en); } else if (eina_list_count(ctc->tel.numbers) > 1) { Evas_Object *win, *bx, *bx2, *bt, *li, *fr, *ph, *lb; Eina_List *l; char *name, *file; win = window; inwin2 = elm_win_inwin_add(win); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); fr = elm_frame_add(win); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); elm_frame_label_set(fr, name); free(name); } evas_object_size_hint_weight_set(fr, 1.0, 0.0); evas_object_size_hint_align_set(fr, -1.0, -1.0); elm_box_pack_end(bx, fr); evas_object_show(fr); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, 1); elm_frame_content_set(fr, bx2); evas_object_show(bx2); ph = elm_photo_add(win); file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); elm_photo_file_set(ph, file); free(file); } evas_object_size_hint_weight_set(ph, 0.0, 0.0); evas_object_size_hint_align_set(ph, -1.0, -1.0); elm_box_pack_end(bx2, ph); evas_object_show(ph); lb = elm_label_add(win); elm_label_label_set(lb, "This contact has multiple<br>" "numbers. Select one."); evas_object_size_hint_weight_set(lb, 1.0, 0.0); evas_object_size_hint_align_set(lb, -1.0, -1.0); elm_box_pack_end(bx2, lb); evas_object_show(lb); li = elm_list_add(win); evas_object_size_hint_weight_set(li, 1.0, 1.0); evas_object_size_hint_align_set(li, -1.0, -1.0); elm_box_pack_end(bx, li); for (l = (Eina_List *)(ctc->tel.numbers); l; l = l->next) { Data_Contact_Tel *tel = l->data; // FIXME: // tel->flags can be 0 or more of: // DATA_CONTACT_TEL_HOME = (1 << 0), // DATA_CONTACT_TEL_MSG = (1 << 1), // DATA_CONTACT_TEL_WORK = (1 << 2), // DATA_CONTACT_TEL_PREF = (1 << 3), // DATA_CONTACT_TEL_VOICE = (1 << 4), // DATA_CONTACT_TEL_FAX = (1 << 5), // DATA_CONTACT_TEL_CELL = (1 << 6), // DATA_CONTACT_TEL_VIDEO = (1 << 7), // DATA_CONTACT_TEL_PAGER = (1 << 8), // DATA_CONTACT_TEL_BBS = (1 << 9), // DATA_CONTACT_TEL_MODEM = (1 << 10), // DATA_CONTACT_TEL_CAR = (1 << 11), // DATA_CONTACT_TEL_ISDN = (1 << 12), // DATA_CONTACT_TEL_PCS = (1 << 13) elm_list_item_append(li, tel->number, NULL, NULL, on_number_select, tel); } elm_list_go(li); evas_object_show(li); bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_number_list_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin2, bx); evas_object_show(bx); elm_win_inwin_activate(inwin2); } else { Data_Contact_Tel *tel; char *name, *file; tel = ctc->tel.numbers->data; if (number) free(number); number = strdup(tel->number); elm_label_label_set(write_lb, number); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); free(name); } file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); free(file); } } }