1 #include <Elementary.h>
2 #ifndef ELM_LIB_QUICKLAUNCH
3 static Elm_Genlist_Item_Class itci;
4 char *gli_label_get(const void *data, Evas_Object *obj, const char *part)
8 snprintf(buf, sizeof(buf), "%c%c",
9 'A' + ((j >> 4) & 0xf),
16 index_changed2(void *data, Evas_Object *obj, void *event_info)
18 // called on a change but delayed in case multiple changes happen in a
20 elm_genlist_item_top_bring_in(event_info);
24 index_changed(void *data, Evas_Object *obj, void *event_info)
26 // this is calld on every change, no matter how often
27 // elm_genlist_item_bring_in(event_info);
31 index_selected(void *data, Evas_Object *obj, void *event_info)
33 // called on final select
34 elm_genlist_item_top_bring_in(event_info);
38 test_index(void *data, Evas_Object *obj, void *event_info)
40 Evas_Object *win, *bg, *gl, *id;
44 win = elm_win_add(NULL, "index", ELM_WIN_BASIC);
45 elm_win_title_set(win, "Index");
46 elm_win_autodel_set(win, 1);
49 elm_win_resize_object_add(win, bg);
50 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
53 gl = elm_genlist_add(win);
54 evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
55 elm_win_resize_object_add(win, gl);
58 id = elm_index_add(win);
59 evas_object_size_hint_weight_set(id, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
60 elm_win_resize_object_add(win, id);
64 itci.item_style = "default";
65 itci.func.label_get = gli_label_get;
66 itci.func.icon_get = NULL;
67 itci.func.state_get = NULL;
71 for (i = 0; i < 100; i++)
73 it = elm_genlist_item_append(gl, &itci,
74 (void *)j/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, NULL/* func */,
80 snprintf(buf, sizeof(buf), "%c", 'A' + ((j >> 4) & 0xf));
81 elm_index_item_append(id, buf, it);
85 evas_object_smart_callback_add(id, "delay,changed", index_changed2, NULL);
86 evas_object_smart_callback_add(id, "changed", index_changed, NULL);
87 evas_object_smart_callback_add(id, "selected", index_selected, NULL);
88 elm_index_item_go(id, 0);
90 evas_object_resize(win, 320, 480);
91 evas_object_show(win);