diff options
Diffstat (limited to 'libraries/elementary/src/bin/test_diskselector.c')
-rw-r--r-- | libraries/elementary/src/bin/test_diskselector.c | 353 |
1 files changed, 0 insertions, 353 deletions
diff --git a/libraries/elementary/src/bin/test_diskselector.c b/libraries/elementary/src/bin/test_diskselector.c deleted file mode 100644 index d62dee4..0000000 --- a/libraries/elementary/src/bin/test_diskselector.c +++ /dev/null | |||
@@ -1,353 +0,0 @@ | |||
1 | #include "test.h" | ||
2 | #include <Elementary_Cursor.h> | ||
3 | #ifdef HAVE_CONFIG_H | ||
4 | # include "elementary_config.h" | ||
5 | #endif | ||
6 | #include <Elementary.h> | ||
7 | #ifndef ELM_LIB_QUICKLAUNCH | ||
8 | struct _api_data | ||
9 | { | ||
10 | unsigned int state; /* What state we are testing */ | ||
11 | void *box; /* Use this to get box content */ | ||
12 | }; | ||
13 | typedef struct _api_data api_data; | ||
14 | |||
15 | enum _api_state | ||
16 | { | ||
17 | SCROLLER_POLICY_SET_ON, | ||
18 | SCROLLER_POLICY_SET_OFF, | ||
19 | BOUNCE_SET, | ||
20 | ITEM_LABEL_SET, | ||
21 | TOOLTIP_TEXT_SET, | ||
22 | ITEM_TOOLTIP_UNSET, | ||
23 | ITEM_CURSOR_SET, | ||
24 | ITEM_CURSOR_UNSET, | ||
25 | ITEM_ICON_SET, | ||
26 | SELECTED_SET, | ||
27 | ITEM_PREV_GET, | ||
28 | ITEM_DEL_NOT_SELECTED, | ||
29 | ITEM_DEL, /* delete when selected */ | ||
30 | CLEAR, | ||
31 | API_STATE_LAST | ||
32 | }; | ||
33 | typedef enum _api_state api_state; | ||
34 | |||
35 | static void | ||
36 | set_api_state(api_data *api) | ||
37 | { | ||
38 | const Eina_List *disks = elm_box_children_get(api->box); | ||
39 | if (!eina_list_count(disks)) | ||
40 | return; | ||
41 | |||
42 | switch(api->state) | ||
43 | { /* Put all api-changes under switch */ | ||
44 | case SCROLLER_POLICY_SET_ON: /* 0 */ | ||
45 | { /* Get first disk */ | ||
46 | Evas_Object *disk = eina_list_nth(disks, 0); | ||
47 | elm_diskselector_scroller_policy_set(disk, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON); | ||
48 | } | ||
49 | break; | ||
50 | |||
51 | case SCROLLER_POLICY_SET_OFF: /* 1 */ | ||
52 | { /* Get first disk */ | ||
53 | Evas_Object *disk = eina_list_nth(disks, 0); | ||
54 | elm_diskselector_scroller_policy_set(disk, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); | ||
55 | } | ||
56 | break; | ||
57 | |||
58 | case BOUNCE_SET: /* 2 */ | ||
59 | { /* Get second disk, cancel bounce */ | ||
60 | Evas_Object *disk = eina_list_nth(disks, 1); | ||
61 | elm_diskselector_bounce_set(disk, EINA_FALSE, EINA_FALSE); | ||
62 | } | ||
63 | break; | ||
64 | |||
65 | case ITEM_LABEL_SET: /* 3 */ | ||
66 | elm_object_item_text_set(elm_diskselector_selected_item_get(eina_list_nth(disks, 0)), "Label from API"); | ||
67 | break; | ||
68 | |||
69 | case TOOLTIP_TEXT_SET: /* 4 */ | ||
70 | elm_object_item_tooltip_text_set(elm_diskselector_selected_item_get(eina_list_nth(disks, 0)), "Tooltip from API"); | ||
71 | break; | ||
72 | |||
73 | case ITEM_TOOLTIP_UNSET: /* 5 */ | ||
74 | elm_object_item_tooltip_unset(elm_diskselector_selected_item_get(eina_list_nth(disks, 0))); | ||
75 | break; | ||
76 | |||
77 | case ITEM_CURSOR_SET: /* 6 */ | ||
78 | elm_object_item_cursor_set(elm_diskselector_selected_item_get(eina_list_nth(disks, 0)), ELM_CURSOR_HAND2); | ||
79 | break; | ||
80 | |||
81 | case ITEM_CURSOR_UNSET: /* 7 */ | ||
82 | elm_object_item_cursor_unset(elm_diskselector_selected_item_get(eina_list_nth(disks, 0))); | ||
83 | break; | ||
84 | |||
85 | case ITEM_ICON_SET: /* 8 */ | ||
86 | { /* Set icon of selected item in first disk */ | ||
87 | char buf[PATH_MAX]; | ||
88 | Evas_Object *ic = elm_icon_add(elm_object_parent_widget_get(eina_list_nth(disks, 0))); | ||
89 | snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); | ||
90 | elm_icon_file_set(ic, buf, NULL); | ||
91 | elm_object_item_part_content_set(elm_diskselector_selected_item_get(eina_list_nth(disks, 0)), NULL, ic); | ||
92 | evas_object_show(ic); | ||
93 | } | ||
94 | break; | ||
95 | |||
96 | case SELECTED_SET: /* 9 */ | ||
97 | { /* Select NEXT item of third disk */ | ||
98 | elm_diskselector_item_selected_set(elm_diskselector_last_item_get(eina_list_nth(disks, 1)), EINA_TRUE); | ||
99 | elm_diskselector_item_selected_set(elm_diskselector_item_next_get(elm_diskselector_selected_item_get(eina_list_nth(disks, 2))), EINA_TRUE); | ||
100 | } | ||
101 | break; | ||
102 | |||
103 | case ITEM_PREV_GET: /* 10 */ | ||
104 | { /* Select PREV item of third disk */ | ||
105 | elm_diskselector_item_selected_set(elm_diskselector_item_prev_get(elm_diskselector_selected_item_get(eina_list_nth(disks, 2))), EINA_TRUE); | ||
106 | } | ||
107 | break; | ||
108 | |||
109 | case ITEM_DEL_NOT_SELECTED: /* 11 */ | ||
110 | { /* Remove selected item of third disk */ | ||
111 | elm_object_item_del(elm_diskselector_item_prev_get(elm_diskselector_selected_item_get(eina_list_nth(disks, 2)))); | ||
112 | } | ||
113 | break; | ||
114 | |||
115 | case ITEM_DEL: /* 12 */ | ||
116 | { /* Remove selected item of first disk */ | ||
117 | elm_object_item_del(elm_diskselector_selected_item_get(eina_list_nth(disks, 1))); | ||
118 | } | ||
119 | break; | ||
120 | |||
121 | case CLEAR: /* 13 */ | ||
122 | elm_diskselector_clear(eina_list_nth(disks, 0)); | ||
123 | break; | ||
124 | |||
125 | default: | ||
126 | return; | ||
127 | } | ||
128 | } | ||
129 | |||
130 | static void | ||
131 | _api_bt_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__) | ||
132 | { /* Will add here a SWITCH command containing code to modify test-object */ | ||
133 | /* in accordance a->state value. */ | ||
134 | api_data *a = data; | ||
135 | char str[128]; | ||
136 | |||
137 | printf("clicked event on API Button: api_state=<%d>\n", a->state); | ||
138 | set_api_state(a); | ||
139 | a->state++; | ||
140 | sprintf(str, "Next API function (%u)", a->state); | ||
141 | elm_object_text_set(obj, str); | ||
142 | elm_object_disabled_set(obj, a->state == API_STATE_LAST); | ||
143 | } | ||
144 | |||
145 | static void | ||
146 | _disk_sel(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *event_info) | ||
147 | { | ||
148 | Elm_Object_Item *ds_it = event_info; | ||
149 | printf("Equinox: %s\n", elm_object_item_text_get(ds_it)); | ||
150 | } | ||
151 | |||
152 | static void | ||
153 | _disk_next(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *event_info) | ||
154 | { | ||
155 | Elm_Object_Item *next_ds_it, *prev_ds_it, *ds_it = event_info; | ||
156 | prev_ds_it = elm_diskselector_item_prev_get(ds_it); | ||
157 | next_ds_it = elm_diskselector_item_next_get(ds_it); | ||
158 | printf("Prev: %s, Next: %s\n", elm_object_item_text_get(prev_ds_it), | ||
159 | elm_object_item_text_get(next_ds_it)); | ||
160 | } | ||
161 | |||
162 | static void | ||
163 | _print_disk_info_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) | ||
164 | { | ||
165 | Elm_Object_Item *ds_it = event_info; | ||
166 | printf("Selected label: %s\n", elm_object_item_text_get(ds_it)); | ||
167 | } | ||
168 | |||
169 | static Evas_Object * | ||
170 | _disk_create(Evas_Object *win, Eina_Bool rnd) | ||
171 | { | ||
172 | Elm_Object_Item *ds_it; | ||
173 | Evas_Object *di; | ||
174 | |||
175 | di = elm_diskselector_add(win); | ||
176 | |||
177 | elm_diskselector_item_append(di, "January", NULL, NULL, NULL); | ||
178 | elm_diskselector_item_append(di, "February", NULL, _disk_next, NULL); | ||
179 | elm_diskselector_item_append(di, "March", NULL, _disk_sel, NULL); | ||
180 | elm_diskselector_item_append(di, "April", NULL, NULL, NULL); | ||
181 | elm_diskselector_item_append(di, "May", NULL, NULL, NULL); | ||
182 | elm_diskselector_item_append(di, "June", NULL, NULL, NULL); | ||
183 | elm_diskselector_item_append(di, "July", NULL, NULL, NULL); | ||
184 | ds_it = elm_diskselector_item_append(di, "August", NULL, NULL, NULL); | ||
185 | elm_diskselector_item_append(di, "September", NULL, _disk_sel, NULL); | ||
186 | elm_diskselector_item_append(di, "October", NULL, NULL, NULL); | ||
187 | elm_diskselector_item_append(di, "November", NULL, NULL, NULL); | ||
188 | elm_diskselector_item_append(di, "December", NULL, NULL, NULL); | ||
189 | |||
190 | elm_diskselector_item_selected_set(ds_it, EINA_TRUE); | ||
191 | elm_diskselector_round_enabled_set(di, rnd); | ||
192 | |||
193 | return di; | ||
194 | } | ||
195 | |||
196 | static void | ||
197 | _cleanup_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | ||
198 | { | ||
199 | free(data); | ||
200 | } | ||
201 | |||
202 | void | ||
203 | test_diskselector(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | ||
204 | { | ||
205 | Evas_Object *win, *bx, *disk, *ic, *bxx, *bt; | ||
206 | Elm_Object_Item *ds_it; | ||
207 | char buf[PATH_MAX]; | ||
208 | api_data *api = calloc(1, sizeof(api_data)); | ||
209 | int idx = 0; | ||
210 | |||
211 | char *month_list[] = { | ||
212 | "Jan", "Feb", "Mar", | ||
213 | "Apr", "May", "Jun", | ||
214 | "Jul", "Aug", "Sep", | ||
215 | "Oct", "Nov", "Dec" | ||
216 | }; | ||
217 | char date[3]; | ||
218 | |||
219 | win = elm_win_util_standard_add("diskselector", "Disk Selector"); | ||
220 | elm_win_autodel_set(win, EINA_TRUE); | ||
221 | evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api); | ||
222 | |||
223 | bxx = elm_box_add(win); | ||
224 | elm_win_resize_object_add(win, bxx); | ||
225 | evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
226 | evas_object_show(bxx); | ||
227 | |||
228 | bx = elm_box_add(win); | ||
229 | elm_win_resize_object_add(win, bx); | ||
230 | evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
231 | evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); | ||
232 | api->box = bx; | ||
233 | evas_object_show(bx); | ||
234 | |||
235 | bt = elm_button_add(win); | ||
236 | elm_object_text_set(bt, "Next API function"); | ||
237 | evas_object_smart_callback_add(bt, "clicked", _api_bt_clicked, (void *) api); | ||
238 | elm_box_pack_end(bxx, bt); | ||
239 | elm_object_disabled_set(bt, api->state == API_STATE_LAST); | ||
240 | evas_object_show(bt); | ||
241 | |||
242 | elm_box_pack_end(bxx, bx); | ||
243 | |||
244 | disk = _disk_create(win, EINA_TRUE); | ||
245 | evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
246 | evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); | ||
247 | elm_box_pack_end(bx, disk); | ||
248 | evas_object_show(disk); | ||
249 | evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); | ||
250 | ds_it = elm_diskselector_selected_item_get(disk); | ||
251 | elm_diskselector_item_selected_set(ds_it, EINA_FALSE); | ||
252 | |||
253 | disk = _disk_create(win, EINA_FALSE); | ||
254 | evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
255 | evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); | ||
256 | elm_box_pack_end(bx, disk); | ||
257 | evas_object_show(disk); | ||
258 | evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); | ||
259 | ds_it = elm_diskselector_first_item_get(disk); | ||
260 | ds_it = elm_diskselector_item_next_get(ds_it); | ||
261 | elm_diskselector_item_selected_set(ds_it, EINA_TRUE); | ||
262 | |||
263 | disk = _disk_create(win, EINA_FALSE); | ||
264 | evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
265 | evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); | ||
266 | elm_box_pack_end(bx, disk); | ||
267 | evas_object_show(disk); | ||
268 | evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); | ||
269 | elm_diskselector_side_text_max_length_set(disk, 4); | ||
270 | |||
271 | disk = elm_diskselector_add(win); | ||
272 | ic = elm_icon_add(win); | ||
273 | snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); | ||
274 | elm_icon_file_set(ic, buf, NULL); | ||
275 | elm_icon_resizable_set(ic, 1, 1); | ||
276 | elm_diskselector_item_append(disk, "Sunday", ic, NULL, NULL); | ||
277 | elm_diskselector_item_append(disk, "Monday", NULL, NULL, NULL); | ||
278 | elm_diskselector_item_append(disk, "Tuesday", NULL, NULL, NULL); | ||
279 | elm_diskselector_item_append(disk, "Wednesday", NULL, NULL, NULL); | ||
280 | elm_diskselector_item_append(disk, "Thursday", NULL, NULL, NULL); | ||
281 | elm_diskselector_item_append(disk, "Friday", NULL, NULL, NULL); | ||
282 | elm_diskselector_item_append(disk, "Saturday", NULL, NULL, NULL); | ||
283 | elm_diskselector_round_enabled_set(disk, EINA_TRUE); | ||
284 | evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
285 | evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); | ||
286 | elm_box_pack_end(bx, disk); | ||
287 | evas_object_show(disk); | ||
288 | evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); | ||
289 | |||
290 | disk = elm_diskselector_add(win); | ||
291 | ic = elm_icon_add(win); | ||
292 | snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); | ||
293 | elm_icon_file_set(ic, buf, NULL); | ||
294 | elm_icon_resizable_set(ic, 1, 1); | ||
295 | elm_diskselector_item_append(disk, "머리스타일", ic, NULL, NULL); | ||
296 | elm_diskselector_item_append(disk, "プロが伝授する", NULL, NULL, NULL); | ||
297 | elm_diskselector_item_append(disk, "生上访要求政府", NULL, NULL, NULL); | ||
298 | elm_diskselector_item_append(disk, "English", NULL, NULL, NULL); | ||
299 | elm_diskselector_item_append(disk, "والشريعة", NULL, NULL, NULL); | ||
300 | elm_diskselector_item_append(disk, "עִבְרִית", NULL, NULL, NULL); | ||
301 | elm_diskselector_item_append(disk, "Grüßen", NULL, NULL, NULL); | ||
302 | elm_diskselector_round_enabled_set(disk, EINA_TRUE); | ||
303 | evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
304 | evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); | ||
305 | elm_box_pack_end(bx, disk); | ||
306 | evas_object_show(disk); | ||
307 | evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); | ||
308 | |||
309 | // displayed item number setting example | ||
310 | disk = elm_diskselector_add(win); | ||
311 | elm_diskselector_display_item_num_set(disk, 5); | ||
312 | printf("Number of Items in DiskSelector : %d\n", | ||
313 | elm_diskselector_display_item_num_get(disk)); | ||
314 | |||
315 | for (idx = 0; idx < (int)(sizeof(month_list) / sizeof(month_list[0])); idx++) | ||
316 | { | ||
317 | ds_it = elm_diskselector_item_append(disk, month_list[idx], NULL, NULL, | ||
318 | NULL); | ||
319 | } | ||
320 | |||
321 | elm_diskselector_item_selected_set(ds_it, EINA_TRUE); | ||
322 | elm_diskselector_round_enabled_set(disk, EINA_TRUE); | ||
323 | evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
324 | evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); | ||
325 | elm_box_pack_end(bx, disk); | ||
326 | evas_object_show(disk); | ||
327 | evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); | ||
328 | |||
329 | // displayed item number setting example | ||
330 | disk = elm_diskselector_add(win); | ||
331 | elm_diskselector_display_item_num_set(disk, 7); | ||
332 | printf("Number of Items in DiskSelector : %d\n", | ||
333 | elm_diskselector_display_item_num_get(disk)); | ||
334 | |||
335 | for (idx = 1; idx < 31; idx++) | ||
336 | { | ||
337 | snprintf(date, sizeof(date), "%d", idx); | ||
338 | ds_it = elm_diskselector_item_append(disk, date, NULL, NULL, NULL); | ||
339 | } | ||
340 | |||
341 | elm_diskselector_item_selected_set(ds_it, EINA_TRUE); | ||
342 | elm_diskselector_round_enabled_set(disk, EINA_TRUE); | ||
343 | evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
344 | evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); | ||
345 | elm_box_pack_end(bx, disk); | ||
346 | evas_object_show(disk); | ||
347 | evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); | ||
348 | |||
349 | evas_object_resize(win, 320, 480); | ||
350 | evas_object_show(win); | ||
351 | } | ||
352 | |||
353 | #endif | ||