Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Compile with:
- //gcc -o start gen3.c `pkg-config --cflags --libs elementary` -DEFL_EO_API_SUPPORT -DEFL_BETA_API_SUPPORT
- #include <Elementary.h>
- #define N_ITEMS 35
- static Elm_Genlist_Item_Class *_itc = NULL;
- static char *
- _item_label_get2(void *data, Evas_Object *obj, const char *part)
- {
- char *b = calloc(1, 10), *label;
- sprintf(b, "%d", (int) data);
- label = strdup((char*)b);
- return label;
- }
- static Evas_Object *
- _item_content_get(void *data, Evas_Object *obj, const char *part)
- {
- Evas_Object *ic;
- int d = (int) data;
- if (d % 2)
- {
- ic = elm_check_add(obj);
- }
- else
- {
- ic = elm_entry_add(obj);
- eo_do(ic,
- elm_obj_entry_scrollable_set(EINA_TRUE),
- evas_obj_size_hint_weight_set(0.5, 0.0),
- evas_obj_size_hint_align_set(EVAS_HINT_FILL, 0.5),
- elm_interface_scrollable_policy_set(ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF),
- elm_obj_entry_single_line_set(EINA_TRUE),
- elm_obj_entry_text_style_user_push("DEFAULT='color=#FFFFFF'"),
- efl_gfx_visible_set(EINA_TRUE));
- }
- if (!strcmp(part, "elm.swallow.icon"))
- return NULL;
- return ic;
- }
- 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);
- }
- EAPI_MAIN int
- elm_main(int argc, char **argv)
- {
- Evas_Object *win, *bg;
- Evas_Object *list, *bt;
- 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);
- if (!_itc)
- {
- _itc = elm_genlist_item_class_new();
- _itc->item_style = "default";
- _itc->func.text_get = _item_label_get2;
- _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*) 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();
- elm_shutdown();
- return 0;
- }
- ELM_MAIN()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement