1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 
5 #include <Efl_Ui.h>
6 
7 static Efl_Ui_Widget*
_item_add(Eo * box,const Efl_Class * c,int i)8 _item_add(Eo *box, const Efl_Class *c, int i)
9 {
10    Eo *check, *rect, *il = efl_add(c, box);
11    int r = 0, g = 0, b = 0;
12    char buf[PATH_MAX];
13 
14    snprintf(buf, sizeof(buf), "%d - Test %d", i, i%13);
15    efl_text_set(il, buf);
16 
17    rect = efl_add(EFL_CANVAS_RECTANGLE_CLASS, il);
18    switch (i % 5)
19      {
20       case 0:
21          r = 255;
22          break;
23       case 1:
24          g = 255;
25          break;
26       case 2:
27          b = 255;
28          break;
29       case 3:
30          r = g = b = 255;
31          break;
32       case 4:
33          r = g = b = 0;
34          break;
35    }
36    efl_gfx_color_set(rect, r, g, b, 255);
37    efl_content_set(il, rect);
38 
39    check = efl_add(EFL_UI_CHECK_CLASS, il);
40    efl_content_set(efl_part(il, "extra"), check);
41 
42    if (c == EFL_UI_GRID_DEFAULT_ITEM_CLASS)
43      efl_gfx_hint_size_min_set(il, EINA_SIZE2D(100, 180));
44    else
45      efl_gfx_hint_size_min_set(il, EINA_SIZE2D(40, 40+(i%2)*40));
46 
47    return il;
48 }
49 
test_efl_ui_item(void * data EINA_UNUSED,Efl_Object * obj EINA_UNUSED,void * event_info EINA_UNUSED)50 void test_efl_ui_item(void *data EINA_UNUSED,
51                       Efl_Object *obj EINA_UNUSED,
52                       void *event_info EINA_UNUSED)
53 {
54    Eo *win, *box, *o;
55 
56    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
57                                   efl_text_set(efl_added, "Item examples"),
58                  efl_ui_win_autodel_set(efl_added, EINA_TRUE)
59                 );
60 
61    box = efl_add(EFL_UI_BOX_CLASS, win,
62                  efl_content_set(win, efl_added));
63 
64    o = _item_add(box, EFL_UI_GRID_DEFAULT_ITEM_CLASS, 1);
65    efl_pack_end(box, o);
66 
67    o = _item_add(box, EFL_UI_GRID_DEFAULT_ITEM_CLASS, 2);
68    efl_ui_widget_disabled_set(o, EINA_TRUE);
69    efl_pack_end(box, o);
70 
71    o = _item_add(box, EFL_UI_LIST_DEFAULT_ITEM_CLASS, 3);
72    efl_pack_end(box, o);
73 
74    o = _item_add(box, EFL_UI_LIST_DEFAULT_ITEM_CLASS, 4);
75    efl_ui_widget_disabled_set(o, EINA_TRUE);
76    efl_pack_end(box, o);
77 
78    o = efl_add(EFL_UI_LIST_PLACEHOLDER_ITEM_CLASS, box);
79    efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40+40));
80    efl_pack_end(box, o);
81 
82    o = efl_add(EFL_UI_LIST_PLACEHOLDER_ITEM_CLASS, box);
83    efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40));
84    efl_ui_widget_disabled_set(o, EINA_TRUE);
85    efl_pack_end(box, o);
86 
87    o = _item_add(box, EFL_UI_GROUP_ITEM_CLASS, 5);
88    efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40+40));
89    efl_pack_end(box, o);
90 
91    o = _item_add(box, EFL_UI_GROUP_ITEM_CLASS, 6);
92    efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40));
93    efl_ui_widget_disabled_set(o, EINA_TRUE);
94 
95    o = _item_add(box, EFL_UI_TAB_BAR_DEFAULT_ITEM_CLASS, 5);
96    efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40+40));
97    efl_pack_end(box, o);
98 
99    o = _item_add(box, EFL_UI_TAB_BAR_DEFAULT_ITEM_CLASS, 6);
100    efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40));
101    efl_ui_widget_disabled_set(o, EINA_TRUE);
102    efl_pack_end(box, o);
103    o = _item_add(box, EFL_UI_TAB_BAR_DEFAULT_ITEM_CLASS, 5);
104    efl_ui_tab_bar_default_item_icon_set(o, "folder");
105    efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40+40));
106    efl_pack_end(box, o);
107 }
108