Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2015
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. //Compile with:
  2. //gcc -o start gen3.c `pkg-config --cflags --libs elementary` -DEFL_EO_API_SUPPORT -DEFL_BETA_API_SUPPORT
  3.  
  4. #include <Elementary.h>
  5.  
  6. #define N_ITEMS 35
  7.  
  8. static Elm_Genlist_Item_Class *_itc = NULL;
  9.  
  10. static char *
  11. _item_label_get2(void *data, Evas_Object *obj, const char *part)
  12. {
  13. char *b = calloc(1, 10), *label;
  14. sprintf(b, "%d", (int) data);
  15. label = strdup((char*)b);
  16. return label;
  17. }
  18.  
  19. static Evas_Object *
  20. _item_content_get(void *data, Evas_Object *obj, const char *part)
  21. {
  22. Evas_Object *ic;
  23. int d = (int) data;
  24.  
  25. if (d % 2)
  26. {
  27. ic = elm_check_add(obj);
  28. }
  29. else
  30. {
  31. ic = elm_entry_add(obj);
  32. eo_do(ic,
  33. elm_obj_entry_scrollable_set(EINA_TRUE),
  34. evas_obj_size_hint_weight_set(0.5, 0.0),
  35. evas_obj_size_hint_align_set(EVAS_HINT_FILL, 0.5),
  36. elm_interface_scrollable_policy_set(ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF),
  37. elm_obj_entry_single_line_set(EINA_TRUE),
  38. elm_obj_entry_text_style_user_push("DEFAULT='color=#FFFFFF'"),
  39. efl_gfx_visible_set(EINA_TRUE));
  40. }
  41.  
  42. if (!strcmp(part, "elm.swallow.icon"))
  43. return NULL;
  44. return ic;
  45. }
  46.  
  47. static void
  48. _item_sel_cb(void *data, Evas_Object *obj, void *event_info)
  49. {
  50. printf("sel item data [%p] on genlist obj [%p], item pointer [%p]\n",
  51. data, obj, event_info);
  52. }
  53.  
  54. EAPI_MAIN int
  55. elm_main(int argc, char **argv)
  56. {
  57. Evas_Object *win, *bg;
  58. Evas_Object *list, *bt;
  59. int i;
  60.  
  61. win = elm_win_add(NULL, "icon", ELM_WIN_BASIC);
  62. elm_win_title_set(win, "Icon");
  63. elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
  64. elm_win_autodel_set(win, EINA_TRUE);
  65.  
  66. bg = elm_bg_add(win);
  67. elm_bg_color_set(bg, 255,255 ,255);
  68. evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
  69. elm_win_resize_object_add(win, bg);
  70. evas_object_show(bg);
  71.  
  72. if (!_itc)
  73. {
  74. _itc = elm_genlist_item_class_new();
  75. _itc->item_style = "default";
  76. _itc->func.text_get = _item_label_get2;
  77. _itc->func.content_get = _item_content_get;
  78. _itc->func.state_get = NULL;
  79. _itc->func.del = NULL;
  80. }
  81.  
  82. list = elm_genlist_add(win);
  83. for (i = 0; i < N_ITEMS; i++)
  84. {
  85. elm_genlist_item_append(list, _itc,
  86. (void*) i, NULL,
  87. ELM_GENLIST_ITEM_NONE,
  88. _item_sel_cb, NULL);
  89. }
  90.  
  91.  
  92. evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
  93. elm_win_resize_object_add(win, list);
  94. evas_object_show(list);
  95.  
  96. evas_object_resize(win, 320, 320);
  97. evas_object_show(win);
  98.  
  99. elm_run();
  100. elm_shutdown();
  101.  
  102. return 0;
  103. }
  104. ELM_MAIN()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement