fixed plugin image size problem
[framework/uifw/elementary.git] / src / bin / test_flipselector.c
1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 #include <Elementary.h>
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 _last_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
27 {
28    Elm_Object_Item *it;
29    Evas_Object *fp = data;
30    it = elm_flipselector_last_item_get(fp);
31    elm_flipselector_item_selected_set(it, EINA_TRUE);
32 }
33
34 void
35 _third_from_end_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    it = elm_flipselector_item_prev_get(it);
41    it = elm_flipselector_item_prev_get(it);
42    elm_flipselector_item_selected_set(it, EINA_TRUE);
43 }
44
45 void
46 _underflow_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
47 {
48    printf("underflow!\n");
49 }
50
51 void
52 _overflow_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
53 {
54    printf("overflow!\n");
55 }
56
57 void
58 slider_change_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
59 {
60     Evas_Object *fl = (Evas_Object *)data;
61
62     double val = elm_slider_value_get(obj);
63     elm_flipselector_first_interval_set(fl, val);
64 }
65
66 void
67 flip_next_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
68 {
69    Evas_Object *fp = data;
70    elm_flipselector_flip_next(fp);
71 }
72
73 void
74 flip_prev_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
75 {
76    Evas_Object *fp = data;
77    elm_flipselector_flip_prev(fp);
78 }
79
80 void
81 test_flipselector(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
82 {
83    char buf[8];
84    unsigned int i;
85    Evas_Object *win, *bx, *fp, *bt, *bx2, *sl;
86    static const char *lbl[] = {
87      "Elementary",
88      "Evas",
89      "Eina",
90      "Edje",
91      "Eet",
92      "Ecore",
93      "Efreet",
94      "Edbus"
95    };
96
97    win = elm_win_util_standard_add("flipselector", "Flip Selector");
98    elm_win_autodel_set(win, EINA_TRUE);
99
100    bx = elm_box_add(win);
101    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
102    elm_win_resize_object_add(win, bx);
103    evas_object_show(bx);
104
105    fp = elm_flipselector_add(win);
106    evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
107    evas_object_smart_callback_add(fp, "selected", _sel_cb, NULL);
108    evas_object_smart_callback_add(fp, "underflowed", _overflow_cb, NULL);
109    evas_object_smart_callback_add(fp, "overflowed", _underflow_cb, NULL);
110    for (i = 0; i < sizeof(lbl)/sizeof(char *); i++)
111      elm_flipselector_item_append(fp, lbl[i], NULL, NULL);
112    elm_box_pack_end(bx, fp);
113    evas_object_show(fp);
114
115    bx2 = elm_box_add(win);
116    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
117    elm_box_horizontal_set(bx2, EINA_TRUE);
118    elm_box_pack_end(bx, bx2);
119    evas_object_show(bx2);
120
121    fp = elm_flipselector_add(win);
122    evas_object_smart_callback_add(fp, "underflowed", _overflow_cb, NULL);
123    evas_object_smart_callback_add(fp, "overflowed", _underflow_cb, NULL);
124    evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
125    for (i = 1990; i <= 2099; i++)
126      {
127         snprintf(buf, 8, "%d", i);
128         elm_flipselector_item_append(fp, buf, _sel_cb, NULL);
129      }
130
131    bt = elm_button_add(win);
132    elm_object_text_set(bt, "Flip Prev");
133    evas_object_smart_callback_add(bt, "clicked", flip_prev_cb, fp);
134
135    elm_box_pack_end(bx2, bt);
136    evas_object_show(bt);
137
138    elm_box_pack_end(bx2, fp);
139    evas_object_show(fp);
140
141    bt = elm_button_add(win);
142    elm_object_text_set(bt, "Flip Next");
143    evas_object_smart_callback_add(bt, "clicked", flip_next_cb, fp);
144    elm_box_pack_end(bx2, bt);
145    evas_object_show(bt);
146
147    sl = elm_slider_add(win);
148    elm_object_text_set(sl, "Flip Iterval:");
149    elm_slider_unit_format_set(sl, "%1.2f");
150    elm_slider_min_max_set(sl, 0, 3.0);
151    elm_slider_value_set(sl, 0.85);
152    evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL);
153    evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
154    elm_box_pack_end(bx, sl);
155    evas_object_show(sl);
156    evas_object_smart_callback_add(sl, "changed", slider_change_cb, fp);
157
158    bt = elm_button_add(win);
159    elm_object_text_set(bt, "Select Last");
160    evas_object_smart_callback_add(bt, "clicked", _last_cb, fp);
161    elm_box_pack_end(bx, bt);
162    evas_object_show(bt);
163
164    bt = elm_button_add(win);
165    elm_object_text_set(bt, "Select 2097");
166    evas_object_smart_callback_add(bt, "clicked", _third_from_end_cb, fp);
167    elm_box_pack_end(bx, bt);
168    evas_object_show(bt);
169
170    bt = elm_button_add(win);
171    elm_object_text_set(bt, "Unselect year");
172    evas_object_smart_callback_add(bt, "clicked", _unsel_cb, fp);
173    elm_box_pack_end(bx, bt);
174    evas_object_show(bt);
175
176    evas_object_show(win);
177 }
178 #endif