Merge remote-tracking branch 'remotes/origin/upstream'
[framework/uifw/elementary.git] / src / bin / test_flipselector.c
1 #include <Elementary.h>
2 #ifdef HAVE_CONFIG_H
3 # include "elementary_config.h"
4 #endif
5 #ifndef ELM_LIB_QUICKLAUNCH
6
7 void
8 _sel_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
9 {
10    Elm_Object_Item *it;
11
12    it = event_info;
13    printf("label of selected item is: %s\n", elm_object_item_text_get(it));
14 }
15
16 void
17 _unsel_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
18 {
19    Elm_Object_Item *it;
20    Evas_Object *fp = data;
21    it = elm_flipselector_selected_item_get(fp);
22    elm_flipselector_item_selected_set(it, EINA_FALSE);
23 }
24
25 void
26 <<<<<<< HEAD
27 _third_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
28 {
29    Elm_Object_Item *it;
30    Evas_Object *fp = data;
31    it = elm_flipselector_first_item_get(fp);
32    it = elm_flipselector_item_next_get(it);
33    it = elm_flipselector_item_next_get(it);
34 =======
35 _last_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
36 {
37    Elm_Object_Item *it;
38    Evas_Object *fp = data;
39    it = elm_flipselector_last_item_get(fp);
40    elm_flipselector_item_selected_set(it, EINA_TRUE);
41 }
42
43 void
44 _third_from_end_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
45 {
46    Elm_Object_Item *it;
47    Evas_Object *fp = data;
48    it = elm_flipselector_last_item_get(fp);
49    it = elm_flipselector_item_prev_get(it);
50    it = elm_flipselector_item_prev_get(it);
51 >>>>>>> remotes/origin/upstream
52    elm_flipselector_item_selected_set(it, EINA_TRUE);
53 }
54
55 void
56 _underflow_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
57 {
58    printf("underflow!\n");
59 }
60
61 void
62 _overflow_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
63 {
64    printf("overflow!\n");
65 }
66
67 void
68 <<<<<<< HEAD
69 =======
70 slider_change_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
71 {
72     Evas_Object *fl = (Evas_Object *)data;
73
74     double val = elm_slider_value_get(obj);
75     elm_flipselector_first_interval_set(fl, val);
76 }
77
78 void
79 flip_next_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
80 {
81    Evas_Object *fp = data;
82    elm_flipselector_flip_next(fp);
83 }
84
85 void
86 flip_prev_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
87 {
88    Evas_Object *fp = data;
89    elm_flipselector_flip_prev(fp);
90 }
91
92 void
93 >>>>>>> remotes/origin/upstream
94 test_flipselector(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
95 {
96    char buf[8];
97    unsigned int i;
98 <<<<<<< HEAD
99    Evas_Object *win, *bg, *bx, *fp, *bt;
100 =======
101    Evas_Object *win, *bg, *bx, *fp, *bt, *bx2, *sl;
102 >>>>>>> remotes/origin/upstream
103    static const char *lbl[] = {
104      "Elementary",
105      "Evas",
106      "Eina",
107      "Edje",
108      "Eet",
109      "Ecore",
110      "Efreet",
111      "Edbus"
112    };
113
114    win = elm_win_add(NULL, "flipselector", ELM_WIN_BASIC);
115    elm_win_title_set(win, "Flip Selector");
116    elm_win_autodel_set(win, EINA_TRUE);
117
118    bg = elm_bg_add(win);
119    elm_win_resize_object_add(win, bg);
120    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
121    evas_object_show(bg);
122
123    bx = elm_box_add(win);
124    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
125    elm_win_resize_object_add(win, bx);
126    evas_object_show(bx);
127
128    fp = elm_flipselector_add(win);
129    evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
130    evas_object_smart_callback_add(fp, "selected", _sel_cb, NULL);
131    evas_object_smart_callback_add(fp, "underflowed", _overflow_cb, NULL);
132    evas_object_smart_callback_add(fp, "overflowed", _underflow_cb, NULL);
133    for (i = 0; i < sizeof(lbl)/sizeof(char *); i++)
134      elm_flipselector_item_append(fp, lbl[i], NULL, NULL);
135    elm_box_pack_end(bx, fp);
136    evas_object_show(fp);
137
138 <<<<<<< HEAD
139 =======
140    bx2 = elm_box_add(win);
141    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
142    elm_box_horizontal_set(bx2, EINA_TRUE);
143    elm_box_pack_end(bx, bx2);
144    evas_object_show(bx2);
145
146 >>>>>>> remotes/origin/upstream
147    fp = elm_flipselector_add(win);
148    evas_object_smart_callback_add(fp, "underflowed", _overflow_cb, NULL);
149    evas_object_smart_callback_add(fp, "overflowed", _underflow_cb, NULL);
150    evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
151 <<<<<<< HEAD
152    for (i = 2099; i >= 1990; i--)
153 =======
154    for (i = 1990; i <= 2099; i++)
155 >>>>>>> remotes/origin/upstream
156      {
157         snprintf(buf, 8, "%d", i);
158         elm_flipselector_item_append(fp, buf, _sel_cb, NULL);
159      }
160 <<<<<<< HEAD
161    elm_box_pack_end(bx, fp);
162    evas_object_show(fp);
163
164    bt = elm_button_add(win);
165    elm_object_text_set(bt, "Select 2097");
166    evas_object_smart_callback_add(bt, "clicked", _third_cb, fp);
167 =======
168
169    bt = elm_button_add(win);
170    elm_object_text_set(bt, "Flip Prev");
171    evas_object_smart_callback_add(bt, "clicked", flip_prev_cb, fp);
172
173    elm_box_pack_end(bx2, bt);
174    evas_object_show(bt);
175
176    elm_box_pack_end(bx2, fp);
177    evas_object_show(fp);
178
179    bt = elm_button_add(win);
180    elm_object_text_set(bt, "Flip Next");
181    evas_object_smart_callback_add(bt, "clicked", flip_next_cb, fp);
182    elm_box_pack_end(bx2, bt);
183    evas_object_show(bt);
184
185    sl = elm_slider_add(win);
186    elm_object_text_set(sl, "Flip Iterval:");
187    elm_slider_unit_format_set(sl, "%1.2f");
188    elm_slider_min_max_set(sl, 0, 3.0);
189    elm_slider_value_set(sl, 0.85);
190    evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL);
191    evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
192    elm_box_pack_end(bx, sl);
193    evas_object_show(sl);
194    evas_object_smart_callback_add(sl, "changed", slider_change_cb, fp);
195
196    bt = elm_button_add(win);
197    elm_object_text_set(bt, "Select Last");
198    evas_object_smart_callback_add(bt, "clicked", _last_cb, fp);
199    elm_box_pack_end(bx, bt);
200    evas_object_show(bt);
201
202    bt = elm_button_add(win);
203    elm_object_text_set(bt, "Select 2097");
204    evas_object_smart_callback_add(bt, "clicked", _third_from_end_cb, fp);
205 >>>>>>> remotes/origin/upstream
206    elm_box_pack_end(bx, bt);
207    evas_object_show(bt);
208
209    bt = elm_button_add(win);
210    elm_object_text_set(bt, "Unselect year");
211    evas_object_smart_callback_add(bt, "clicked", _unsel_cb, fp);
212    elm_box_pack_end(bx, bt);
213    evas_object_show(bt);
214
215    evas_object_show(win);
216 }
217 #endif