2 # include "elementary_config.h"
5 #include <Elementary.h>
9 unsigned int state; /* What state we are testing */
10 Evas_Object *box; /* Used in set_api_state */
12 typedef struct _api_data api_data;
25 typedef enum _api_state api_state;
27 static const char* api_state_description[] = {
39 set_api_state(api_data *api)
41 const Eina_List *items = elm_box_children_get(api->box);
42 Evas_Object *ck = eina_list_nth(items, 0);
43 if (!eina_list_count(items))
46 /* use elm_box_children_get() to get list of children */
48 { /* Put all api-changes under switch */
50 elm_clock_show_seconds_set(ck, EINA_FALSE);
53 case CLOCK_SHOW_AM_PM:
54 elm_clock_show_am_pm_set(ck, EINA_TRUE);
58 elm_clock_show_seconds_set(ck, EINA_TRUE);
62 elm_clock_edit_set(ck, EINA_TRUE);
63 elm_clock_edit_mode_set(ck, ELM_CLOCK_EDIT_MIN_DECIMAL | ELM_CLOCK_EDIT_MIN_UNIT);
67 elm_clock_edit_set(ck, EINA_TRUE);
68 elm_clock_edit_mode_set(ck, ELM_CLOCK_EDIT_HOUR_DECIMAL | ELM_CLOCK_EDIT_HOUR_UNIT);
72 elm_clock_edit_set(ck, EINA_TRUE);
73 elm_clock_edit_mode_set(ck, ELM_CLOCK_EDIT_ALL);
76 case CLOCK_HIDE_AM_PM:
77 elm_clock_show_am_pm_set(ck, EINA_FALSE);
89 _api_bt_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
90 { /* Will add here a SWITCH command containing code to modify test-object */
91 /* in accordance a->state value. */
95 printf("clicked event on API Button: api_state=<%s>\n", api_state_description[a->state]);
98 sprintf(str, "Next API function (%u)", a->state);
99 elm_object_text_set(obj, str);
100 elm_object_disabled_set(obj, a->state == API_STATE_LAST);
104 _cleanup_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
110 test_clock(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
112 Evas_Object *win, *bx, *ck, *bt, *bxx;
113 unsigned int digedit;
114 api_data *api = calloc(1, sizeof(api_data));
117 win = elm_win_util_standard_add("clock", "Clock");
118 elm_win_autodel_set(win, EINA_TRUE);
119 evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api);
121 bxx = elm_box_add(win);
122 evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
123 elm_win_resize_object_add(win, bxx);
124 evas_object_show(bxx);
126 bx = elm_box_add(bxx);
127 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
129 evas_object_show(bx);
131 bt = elm_button_add(bxx);
132 elm_object_text_set(bt, "Next API function");
133 evas_object_smart_callback_add(bt, "clicked", _api_bt_clicked, (void *) api);
134 elm_box_pack_end(bxx, bt);
135 elm_object_disabled_set(bt, EINA_TRUE);
136 evas_object_show(bt);
138 elm_box_pack_end(bxx, bx);
140 ck = elm_clock_add(bx);
141 elm_box_pack_end(bx, ck);
142 evas_object_show(ck);
144 ck = elm_clock_add(bx);
145 elm_clock_show_am_pm_set(ck, EINA_TRUE);
146 elm_box_pack_end(bx, ck);
147 elm_clock_time_set(ck, 17, 25, 0);
148 evas_object_show(ck);
150 ck = elm_clock_add(bx);
151 elm_clock_show_seconds_set(ck, EINA_TRUE);
152 elm_box_pack_end(bx, ck);
153 evas_object_show(ck);
155 ck = elm_clock_add(bx);
156 elm_clock_show_seconds_set(ck, EINA_TRUE);
157 elm_clock_show_am_pm_set(ck, EINA_TRUE);
158 elm_box_pack_end(bx, ck);
159 elm_clock_time_set(ck, 11, 59, 57);
160 evas_object_show(ck);
162 ck = elm_clock_add(bx);
163 elm_clock_show_seconds_set(ck, EINA_TRUE);
164 elm_clock_show_am_pm_set(ck, EINA_FALSE);
165 elm_clock_time_set(ck, 23, 59, 57);
166 elm_box_pack_end(bx, ck);
167 evas_object_show(ck);
169 ck = elm_clock_add(bx);
170 elm_clock_edit_set(ck, EINA_TRUE);
171 elm_clock_show_seconds_set(ck, EINA_TRUE);
172 elm_clock_show_am_pm_set(ck, EINA_TRUE);
173 elm_clock_time_set(ck, 10, 11, 12);
174 elm_box_pack_end(bx, ck);
175 evas_object_show(ck);
177 ck = elm_clock_add(bx);
178 elm_clock_show_seconds_set(ck, EINA_TRUE);
179 elm_clock_edit_set(ck, EINA_TRUE);
180 digedit = ELM_CLOCK_EDIT_HOUR_UNIT | ELM_CLOCK_EDIT_MIN_UNIT | ELM_CLOCK_EDIT_SEC_UNIT;
181 elm_clock_edit_mode_set(ck, digedit);
182 elm_box_pack_end(bx, ck);
183 elm_clock_time_set(ck, 0, 0, 0);
184 evas_object_show(ck);
186 evas_object_show(win);
190 _edit_bt_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
192 Evas_Object *ck = data;
194 if (!elm_clock_edit_get(ck))
196 elm_object_text_set(obj, "Done");
197 elm_clock_edit_set(ck, EINA_TRUE);
200 elm_object_text_set(obj, "Edit");
201 elm_clock_edit_set(ck, EINA_FALSE);
205 _hmode_bt_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
207 Evas_Object *ck = data;
209 if (!elm_clock_show_am_pm_get(ck))
211 elm_object_text_set(obj, "24h");
212 elm_clock_show_am_pm_set(ck, EINA_TRUE);
215 elm_object_text_set(obj, "12h");
216 elm_clock_show_am_pm_set(ck, EINA_FALSE);
220 _pause_resume_bt_clicked(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
222 Evas_Object *ck = data;
224 if (!elm_clock_pause_get(ck))
226 elm_object_text_set(obj, "Resume");
227 elm_clock_pause_set(ck, EINA_TRUE);
230 elm_object_text_set(obj, "Pause");
231 elm_clock_pause_set(ck, EINA_FALSE);
235 test_clock_edit(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
237 Evas_Object *win, *bx, *hbx, *ck, *bt, *bxx;
238 api_data *api = calloc(1, sizeof(api_data));
241 win = elm_win_util_standard_add("clock-edit", "Clock Edit");
242 elm_win_autodel_set(win, EINA_TRUE);
243 evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api);
245 bxx = elm_box_add(win);
246 evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
247 elm_win_resize_object_add(win, bxx);
248 evas_object_show(bxx);
250 bx = elm_box_add(bxx);
251 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
253 evas_object_show(bx);
255 bt = elm_button_add(bxx);
256 elm_object_text_set(bt, "Next API function");
257 evas_object_smart_callback_add(bt, "clicked", _api_bt_clicked, (void *) api);
258 elm_box_pack_end(bxx, bt);
259 elm_object_disabled_set(bt, api->state == API_STATE_LAST);
260 evas_object_show(bt);
262 elm_box_pack_end(bxx, bx);
264 ck = elm_clock_add(bx);
265 elm_clock_time_set(ck, 0, 15, 3);
266 elm_clock_edit_mode_set(ck, ELM_CLOCK_EDIT_DEFAULT);
267 elm_clock_show_seconds_set(ck, EINA_TRUE);
268 elm_clock_show_am_pm_set(ck, EINA_TRUE);
269 elm_box_pack_end(bx, ck);
270 evas_object_show(ck);
272 hbx = elm_box_add(bx);
273 evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
274 elm_box_horizontal_set(hbx, EINA_TRUE);
275 elm_box_pack_end(bx, hbx);
276 evas_object_show(hbx);
278 bt = elm_button_add(hbx);
279 elm_object_text_set(bt, "Edit");
280 evas_object_smart_callback_add(bt, "clicked", _edit_bt_clicked, ck);
281 elm_box_pack_end(hbx, bt);
282 evas_object_show(bt);
284 bt = elm_button_add(hbx);
285 elm_object_text_set(bt, "24h");
286 evas_object_smart_callback_add(bt, "clicked", _hmode_bt_clicked, ck);
287 elm_box_pack_end(hbx, bt);
288 evas_object_show(bt);
290 evas_object_show(win);
294 test_clock_edit2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
296 Evas_Object *win, *bx, *ck, *lb;
298 win = elm_win_util_standard_add("clock-edit2", "Clock Edit 2");
299 elm_win_autodel_set(win, EINA_TRUE);
301 bx = elm_box_add(win);
302 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
303 elm_win_resize_object_add(win, bx);
304 evas_object_show(bx);
306 lb = elm_label_add(win);
307 elm_object_text_set(lb,
308 "Check time updates for a user mouse button hold."
310 evas_object_size_hint_weight_set(lb, 0.0, 0.0);
311 evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
312 elm_box_pack_end(bx, lb);
313 evas_object_show(lb);
315 ck = elm_clock_add(win);
316 elm_clock_show_seconds_set(ck, 1);
317 elm_clock_edit_set(ck, EINA_TRUE);
318 elm_clock_first_interval_set(ck, 0.4);
319 elm_box_pack_end(bx, ck);
320 evas_object_show(ck);
322 ck = elm_clock_add(win);
323 elm_clock_show_seconds_set(ck, 1);
324 elm_clock_edit_set(ck, EINA_TRUE);
325 elm_clock_first_interval_set(ck, 1.2);
326 elm_box_pack_end(bx, ck);
327 evas_object_show(ck);
329 ck = elm_clock_add(win);
330 elm_clock_show_seconds_set(ck, 1);
331 elm_clock_edit_set(ck, EINA_TRUE);
332 elm_clock_first_interval_set(ck, 2.0);
333 elm_box_pack_end(bx, ck);
334 evas_object_show(ck);
336 evas_object_show(win);
340 test_clock_pause(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
342 Evas_Object *win, *bx, *ck, *bt;
344 win = elm_win_util_standard_add("clock4", "Clock4");
345 elm_win_autodel_set(win, EINA_TRUE);
347 bx = elm_box_add(win);
348 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
349 elm_win_resize_object_add(win, bx);
350 evas_object_show(bx);
352 ck = elm_clock_add(win);
353 elm_clock_show_seconds_set(ck, EINA_TRUE);
354 elm_clock_time_set(ck, 0, 0, 0);
355 elm_box_pack_end(bx, ck);
356 evas_object_show(ck);
358 bt = elm_button_add(win);
359 elm_object_text_set(bt, "Pause");
360 evas_object_smart_callback_add(bt, "clicked", _pause_resume_bt_clicked, ck);
361 elm_box_pack_end(bx, bt);
362 evas_object_show(bt);
364 evas_object_show(win);