From: cnook <kimcinoo@gmail.com>
[framework/uifw/elementary.git] / src / bin / test_clock.c
1 #include <Elementary.h>
2 #ifdef HAVE_CONFIG_H
3 # include "elementary_config.h"
4 #endif
5 #ifndef ELM_LIB_QUICKLAUNCH
6 void
7 test_clock(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
8 {
9    Evas_Object *win, *bg, *bx, *ck;
10    unsigned int digedit;
11
12    win = elm_win_add(NULL, "clock", ELM_WIN_BASIC);
13    elm_win_title_set(win, "Clock");
14    elm_win_autodel_set(win, EINA_TRUE);
15
16    bg = elm_bg_add(win);
17    elm_win_resize_object_add(win, bg);
18    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
19    evas_object_show(bg);
20
21    bx = elm_box_add(win);
22    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
23    elm_win_resize_object_add(win, bx);
24    evas_object_show(bx);
25
26    ck = elm_clock_add(win);
27    elm_box_pack_end(bx, ck);
28    evas_object_show(ck);
29
30    ck = elm_clock_add(win);
31    elm_clock_show_am_pm_set(ck, EINA_TRUE);
32    elm_box_pack_end(bx, ck);
33    evas_object_show(ck);
34
35    ck = elm_clock_add(win);
36    elm_clock_show_seconds_set(ck, EINA_TRUE);
37    elm_box_pack_end(bx, ck);
38    evas_object_show(ck);
39
40    ck = elm_clock_add(win);
41    elm_clock_show_seconds_set(ck, EINA_TRUE);
42    elm_clock_show_am_pm_set(ck, EINA_TRUE);
43    elm_box_pack_end(bx, ck);
44    evas_object_show(ck);
45
46    ck = elm_clock_add(win);
47    elm_clock_show_seconds_set(ck, EINA_TRUE);
48    elm_clock_show_am_pm_set(ck, EINA_FALSE);
49    elm_clock_time_set(ck, 23, 59, 57);
50    elm_box_pack_end(bx, ck);
51    evas_object_show(ck);
52
53    ck = elm_clock_add(win);
54    elm_clock_edit_set(ck, EINA_TRUE);
55    elm_clock_show_seconds_set(ck, EINA_TRUE);
56    elm_clock_show_am_pm_set(ck, EINA_TRUE);
57    elm_clock_time_set(ck, 10, 11, 12);
58    elm_box_pack_end(bx, ck);
59    evas_object_show(ck);
60
61    ck = elm_clock_add(win);
62    elm_clock_show_seconds_set(ck, EINA_TRUE);
63    elm_clock_edit_set(ck, EINA_TRUE);
64    digedit = ELM_CLOCK_HOUR_UNIT | ELM_CLOCK_MIN_UNIT | ELM_CLOCK_SEC_UNIT;
65    elm_clock_digit_edit_set(ck, digedit);
66    elm_box_pack_end(bx, ck);
67    evas_object_show(ck);
68
69    evas_object_show(win);
70 }
71
72 static void
73 _edit_bt_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__)
74 {
75    Evas_Object *ck = data;
76
77    if (!elm_clock_edit_get(ck))
78      {
79         elm_object_text_set(obj, "Done");
80         elm_clock_edit_set(ck, EINA_TRUE);
81         return;
82      }
83    elm_object_text_set(obj, "Edit");
84    elm_clock_edit_set(ck, EINA_FALSE);
85 }
86
87 static void
88 _hmode_bt_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__)
89 {
90    Evas_Object *ck = data;
91
92    if (!elm_clock_show_am_pm_get(ck))
93      {
94         elm_object_text_set(obj, "24h");
95         elm_clock_show_am_pm_set(ck, EINA_TRUE);
96         return;
97      }
98    elm_object_text_set(obj, "12h");
99    elm_clock_show_am_pm_set(ck, EINA_FALSE);
100 }
101
102 void
103 test_clock2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
104 {
105    Evas_Object *win, *bg, *bx, *hbx, *ck, *bt;
106
107    win = elm_win_add(NULL, "clock2", ELM_WIN_BASIC);
108    elm_win_title_set(win, "Clock 2");
109    elm_win_autodel_set(win, EINA_TRUE);
110
111    bg = elm_bg_add(win);
112    elm_win_resize_object_add(win, bg);
113    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
114    evas_object_show(bg);
115
116    bx = elm_box_add(win);
117    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
118    elm_win_resize_object_add(win, bx);
119    evas_object_show(bx);
120
121    ck = elm_clock_add(win);
122    elm_clock_show_seconds_set(ck, EINA_TRUE);
123    elm_clock_show_am_pm_set(ck, EINA_TRUE);
124    elm_box_pack_end(bx, ck);
125    evas_object_show(ck);
126
127    hbx = elm_box_add(win);
128    evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
129    elm_box_horizontal_set(hbx, EINA_TRUE);
130    elm_box_pack_end(bx, hbx);
131    evas_object_show(hbx);
132
133    bt = elm_button_add(win);
134    elm_object_text_set(bt, "Edit");
135    evas_object_smart_callback_add(bt, "clicked", _edit_bt_clicked, ck);
136    elm_box_pack_end(hbx, bt);
137    evas_object_show(bt);
138
139    bt = elm_button_add(win);
140    elm_object_text_set(bt, "24h");
141    evas_object_smart_callback_add(bt, "clicked", _hmode_bt_clicked, ck);
142    elm_box_pack_end(hbx, bt);
143    evas_object_show(bt);
144
145    evas_object_show(win);
146 }
147
148 void
149 test_clock3(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
150 {
151    Evas_Object *win, *bg, *bx, *ck, *lb;
152
153    win = elm_win_add(NULL, "clock3", ELM_WIN_BASIC);
154    elm_win_title_set(win, "Clock 3");
155    elm_win_autodel_set(win, EINA_TRUE);
156
157    bg = elm_bg_add(win);
158    elm_win_resize_object_add(win, bg);
159    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
160    evas_object_show(bg);
161
162    bx = elm_box_add(win);
163    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
164    elm_win_resize_object_add(win, bx);
165    evas_object_show(bx);
166
167    lb = elm_label_add(win);
168    elm_object_text_set(lb,
169                        "Check time updates for an user mouse button hold."
170                        );
171    evas_object_size_hint_weight_set(lb, 0.0, 0.0);
172    evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
173    elm_box_pack_end(bx, lb);
174    evas_object_show(lb);
175
176    ck = elm_clock_add(win);
177    elm_clock_show_seconds_set(ck, 1);
178    elm_clock_edit_set(ck, EINA_TRUE);
179    elm_clock_interval_set(ck, 0.4);
180    elm_box_pack_end(bx, ck);
181    evas_object_show(ck);
182
183    ck = elm_clock_add(win);
184    elm_clock_show_seconds_set(ck, 1);
185    elm_clock_edit_set(ck, EINA_TRUE);
186    elm_clock_interval_set(ck, 1.2);
187    elm_box_pack_end(bx, ck);
188    evas_object_show(ck);
189
190    ck = elm_clock_add(win);
191    elm_clock_show_seconds_set(ck, 1);
192    elm_clock_edit_set(ck, EINA_TRUE);
193    elm_clock_interval_set(ck, 2.0);
194    elm_box_pack_end(bx, ck);
195    evas_object_show(ck);
196
197    evas_object_show(win);
198 }
199 #endif