EFL migration revision 67547
[framework/uifw/elementary.git] / src / bin / test_hoversel.c
1 #include <Elementary.h>
2 #ifdef HAVE_CONFIG_H
3 # include "elementary_config.h"
4 #endif
5 #ifndef ELM_LIB_QUICKLAUNCH
6 void
7 test_hoversel(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
8 {
9    Evas_Object *win, *bg, *bx, *bt, *ic;
10    char buf[PATH_MAX];
11
12    win = elm_win_add(NULL, "hoversel", ELM_WIN_BASIC);
13    elm_win_title_set(win, "Hoversel");
14    elm_win_autodel_set(win, EINA_TRUE);
15
16    bg = elm_bg_add(win);
17    elm_win_resize_object_add(win, bg);
18    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
19    evas_object_show(bg);
20
21    bx = elm_box_add(win);
22    elm_win_resize_object_add(win, bx);
23    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
24    evas_object_show(bx);
25
26    bt = elm_hoversel_add(win);
27 // FIXME: need to add horizontal hoversel theme to default some day
28 //   elm_hoversel_horizontal_set(bt, 1);
29    elm_hoversel_hover_parent_set(bt, win);
30    elm_object_text_set(bt, "Labels");
31    elm_hoversel_item_add(bt, "Item 1", NULL, ELM_ICON_NONE, NULL, NULL);
32    elm_hoversel_item_add(bt, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL);
33    elm_hoversel_item_add(bt, "Item 3", NULL, ELM_ICON_NONE, NULL, NULL);
34    elm_hoversel_item_add(bt, "Item 4 - Long Label Here", NULL, ELM_ICON_NONE, NULL, NULL);
35    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
36    evas_object_size_hint_align_set(bt, 0.5, 0.5);
37    elm_box_pack_end(bx, bt);
38    evas_object_show(bt);
39
40    bt = elm_hoversel_add(win);
41    elm_hoversel_hover_parent_set(bt, win);
42    elm_object_text_set(bt, "Some Icons");
43    elm_hoversel_item_add(bt, "Item 1", NULL, ELM_ICON_NONE, NULL, NULL);
44    elm_hoversel_item_add(bt, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL);
45    elm_hoversel_item_add(bt, "Item 3", "home", ELM_ICON_STANDARD, NULL, NULL);
46    elm_hoversel_item_add(bt, "Item 4", "close", ELM_ICON_STANDARD, NULL, NULL);
47    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
48    evas_object_size_hint_align_set(bt, 0.5, 0.5);
49    elm_box_pack_end(bx, bt);
50    evas_object_show(bt);
51
52    bt = elm_hoversel_add(win);
53    elm_hoversel_hover_parent_set(bt, win);
54    elm_object_text_set(bt, "All Icons");
55    elm_hoversel_item_add(bt, "Item 1", "apps", ELM_ICON_STANDARD, NULL, NULL);
56    elm_hoversel_item_add(bt, "Item 2", "arrow_down", ELM_ICON_STANDARD, NULL, NULL);
57    elm_hoversel_item_add(bt, "Item 3", "home", ELM_ICON_STANDARD, NULL, NULL);
58    elm_hoversel_item_add(bt, "Item 4", "close", ELM_ICON_STANDARD, NULL, NULL);
59    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
60    evas_object_size_hint_align_set(bt, 0.5, 0.5);
61    elm_box_pack_end(bx, bt);
62    evas_object_show(bt);
63
64    bt = elm_hoversel_add(win);
65    elm_hoversel_hover_parent_set(bt, win);
66    elm_object_text_set(bt, "All Icons");
67    elm_hoversel_item_add(bt, "Item 1", "apps", ELM_ICON_STANDARD, NULL, NULL);
68    snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get());
69    elm_hoversel_item_add(bt, "Item 2", buf, ELM_ICON_FILE, NULL, NULL);
70    elm_hoversel_item_add(bt, "Item 3", "home", ELM_ICON_STANDARD, NULL, NULL);
71    elm_hoversel_item_add(bt, "Item 4", "close", ELM_ICON_STANDARD, NULL, NULL);
72    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
73    evas_object_size_hint_align_set(bt, 0.5, 0.5);
74    elm_box_pack_end(bx, bt);
75    evas_object_show(bt);
76
77    bt = elm_hoversel_add(win);
78    elm_hoversel_hover_parent_set(bt, win);
79    elm_object_text_set(bt, "Disabled Hoversel");
80    elm_hoversel_item_add(bt, "Item 1", "apps", ELM_ICON_STANDARD, NULL, NULL);
81    elm_hoversel_item_add(bt, "Item 2", "close", ELM_ICON_STANDARD, NULL, NULL);
82    elm_object_disabled_set(bt, 1);
83    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
84    evas_object_size_hint_align_set(bt, 0.5, 0.5);
85    elm_box_pack_end(bx, bt);
86    evas_object_show(bt);
87
88    bt = elm_hoversel_add(win);
89    elm_hoversel_hover_parent_set(bt, win);
90    elm_object_text_set(bt, "Icon + Label");
91
92    ic = elm_icon_add(win);
93    snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", elm_app_data_dir_get());
94    elm_icon_file_set(ic, buf, NULL);
95    elm_object_part_content_set(bt, "icon", ic);
96    evas_object_show(ic);
97
98    elm_hoversel_item_add(bt, "Item 1", "apps", ELM_ICON_STANDARD, NULL, NULL);
99    elm_hoversel_item_add(bt, "Item 2", "arrow_down", ELM_ICON_STANDARD, NULL, NULL);
100    elm_hoversel_item_add(bt, "Item 3", "home", ELM_ICON_STANDARD, NULL, NULL);
101    elm_hoversel_item_add(bt, "Item 4", "close", ELM_ICON_STANDARD, NULL, NULL);
102    evas_object_size_hint_weight_set(bt, 0.0, 0.0);
103    evas_object_size_hint_align_set(bt, 0.5, 0.5);
104    elm_box_pack_end(bx, bt);
105    evas_object_show(bt);
106
107    evas_object_resize(win, 320, 300);
108
109    evas_object_show(win);
110 }
111 #endif