Initialize Tizen 2.3
[framework/uifw/elementary.git] / wearable / 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 static void
15 _on_done(void *data,
16         Evas_Object *obj,
17         void *event_info)
18 {
19    elm_exit();
20 }
21
22 EAPI_MAIN int
23 elm_main(int argc, char **argv)
24 {
25    Evas_Object *win, *bg, *bx, *ck;
26    unsigned int digedit;
27
28    win = elm_win_add(NULL, "clock", ELM_WIN_BASIC);
29    elm_win_title_set(win, "Clock Example");
30    evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
31
32    bg = elm_bg_add(win);
33    elm_win_resize_object_add(win, bg);
34    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
35    evas_object_show(bg);
36
37    bx = elm_box_add(win);
38    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
39    elm_win_resize_object_add(win, bx);
40    evas_object_show(bx);
41
42    /* pristine (no seconds, military time) */
43    ck = elm_clock_add(win);
44    elm_box_pack_end(bx, ck);
45    evas_object_show(ck);
46
47    /* am/pm */
48    ck = elm_clock_add(win);
49    elm_clock_show_am_pm_set(ck, EINA_TRUE);
50    elm_box_pack_end(bx, ck);
51    evas_object_show(ck);
52
53    /* with seconds and custom time */
54    ck = elm_clock_add(win);
55    elm_clock_show_seconds_set(ck, EINA_TRUE);
56    elm_clock_time_set(ck, 10, 11, 12);
57    elm_box_pack_end(bx, ck);
58    evas_object_show(ck);
59
60    /* in edition mode, with seconds, custom time and am/pm set */
61    ck = elm_clock_add(win);
62    elm_clock_edit_set(ck, EINA_TRUE);
63    elm_clock_show_seconds_set(ck, EINA_TRUE);
64    elm_clock_show_am_pm_set(ck, EINA_TRUE);
65    elm_clock_time_set(ck, 10, 11, 12);
66    elm_box_pack_end(bx, ck);
67    evas_object_show(ck);
68
69    /* in edition mode, with seconds, but only some digits editable */
70    ck = elm_clock_add(win);
71    elm_clock_show_seconds_set(ck, EINA_TRUE);
72    elm_clock_edit_set(ck, EINA_TRUE);
73    digedit = ELM_CLOCK_EDIT_HOUR_UNIT | ELM_CLOCK_EDIT_MIN_UNIT | ELM_CLOCK_EDIT_SEC_UNIT;
74    elm_clock_edit_mode_set(ck, digedit);
75    elm_box_pack_end(bx, ck);
76    evas_object_show(ck);
77
78    evas_object_show(win);
79
80    elm_run();
81    elm_shutdown();
82
83    return 0;
84 }
85 ELM_MAIN()