tizen 2.4 release
[framework/uifw/elementary.git] / src / examples / clock_example.c
1 /**
2  * Simple Elementary's <b>clock widget</b> example, illustrating its
3  * usage and API.
4  *
5  * See stdout/stderr for output. Compile with:
6  *
7  * @verbatim
8  * gcc -g clock_example.c -o clock_example `pkg-config --cflags --libs elementary`
9  * @endverbatim
10  */
11
12 #include <Elementary.h>
13
14 EAPI_MAIN int
15 elm_main(int argc, char **argv)
16 {
17    Evas_Object *win, *bx, *ck;
18    unsigned int digedit;
19
20    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
21
22    win = elm_win_util_standard_add("clock", "Clock Example");
23    elm_win_autodel_set(win, EINA_TRUE);
24
25    bx = elm_box_add(win);
26    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
27    elm_win_resize_object_add(win, bx);
28    evas_object_show(bx);
29
30    /* pristine (no seconds, military time) */
31    ck = elm_clock_add(win);
32    elm_box_pack_end(bx, ck);
33    evas_object_show(ck);
34
35    /* am/pm */
36    ck = elm_clock_add(win);
37    elm_clock_show_am_pm_set(ck, EINA_TRUE);
38    elm_box_pack_end(bx, ck);
39    evas_object_show(ck);
40
41    /* with seconds and custom time */
42    ck = elm_clock_add(win);
43    elm_clock_show_seconds_set(ck, EINA_TRUE);
44    elm_clock_time_set(ck, 10, 11, 12);
45    elm_box_pack_end(bx, ck);
46    evas_object_show(ck);
47
48    /* in edition mode, with seconds, custom time and am/pm set */
49    ck = elm_clock_add(win);
50    elm_clock_edit_set(ck, EINA_TRUE);
51    elm_clock_show_seconds_set(ck, EINA_TRUE);
52    elm_clock_show_am_pm_set(ck, EINA_TRUE);
53    elm_clock_time_set(ck, 10, 11, 12);
54    elm_box_pack_end(bx, ck);
55    evas_object_show(ck);
56
57    /* in edition mode, with seconds, but only some digits editable */
58    ck = elm_clock_add(win);
59    elm_clock_show_seconds_set(ck, EINA_TRUE);
60    elm_clock_edit_set(ck, EINA_TRUE);
61    digedit = ELM_CLOCK_EDIT_HOUR_UNIT | ELM_CLOCK_EDIT_MIN_UNIT | ELM_CLOCK_EDIT_SEC_UNIT;
62    elm_clock_edit_mode_set(ck, digedit);
63    elm_box_pack_end(bx, ck);
64    evas_object_show(ck);
65
66    evas_object_show(win);
67
68    elm_run();
69
70    return 0;
71 }
72 ELM_MAIN()