package upload
[framework/uifw/elementary.git] / src / bin / test_external.c
1 #include "test.h"
2 #ifdef HAVE_CONFIG_H
3 # include "elementary_config.h"
4 #endif
5 #include <Elementary.h>
6 #ifndef ELM_LIB_QUICKLAUNCH
7
8
9 void
10 test_external_button(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
11 {
12    Evas_Object *win, *ly;
13    char buf[PATH_MAX];
14
15    win = elm_win_util_standard_add("ext_button", "Edje External Button");
16    elm_win_autodel_set(win, EINA_TRUE);
17
18    ly = elm_layout_add(win);
19    snprintf(buf, sizeof(buf), "%s/objects/test_external.edj", elm_app_data_dir_get());
20    elm_layout_file_set(ly, buf, "external/button");
21    evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
22    evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
23    elm_win_resize_object_add(win, ly);
24    evas_object_show(ly);
25
26    evas_object_resize(win, 320, 400);
27    evas_object_show(win);
28 }
29
30 void
31 test_external_slider(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
32 {
33    Evas_Object *win, *ly;
34    char buf[PATH_MAX];
35
36    win = elm_win_util_standard_add("ext_slider", "Edje External Slider");
37    elm_win_autodel_set(win, EINA_TRUE);
38
39    ly = elm_layout_add(win);
40    snprintf(buf, sizeof(buf), "%s/objects/test_external.edj", elm_app_data_dir_get());
41    elm_layout_file_set(ly, buf, "external/slider");
42    evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
43    evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
44    elm_win_resize_object_add(win, ly);
45    evas_object_show(ly);
46
47    evas_object_resize(win, 320, 400);
48    evas_object_show(win);
49 }
50
51 void
52 test_external_scroller(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
53 {
54    Evas_Object *win, *ly;
55    char buf[PATH_MAX];
56
57    win = elm_win_util_standard_add("ext_scroller", "Edje External Scroller");
58    elm_win_autodel_set(win, EINA_TRUE);
59
60    ly = elm_layout_add(win);
61    snprintf(buf, sizeof(buf), "%s/objects/test_external.edj", elm_app_data_dir_get());
62    elm_layout_file_set(ly, buf, "external/scroller");
63    evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
64    evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
65    elm_win_resize_object_add(win, ly);
66    evas_object_show(ly);
67
68    evas_object_resize(win, 320, 400);
69    evas_object_show(win);
70 }
71
72
73 static Eina_Bool
74 _timer_cb(void *data)
75 {
76    Evas_Object *edje = data;
77    Evas_Object *bt1, *bt2, *bt3, *pb1, *pb2, *pb3, *pb4, *pb5, *pb6, *pb7;
78    double progress;
79
80    pb1 = edje_object_part_external_object_get(edje, "ext_pbar1");
81    pb2 = edje_object_part_external_object_get(edje, "ext_pbar2");
82    pb3 = edje_object_part_external_object_get(edje, "ext_pbar3");
83    pb4 = edje_object_part_external_object_get(edje, "ext_pbar4");
84    pb6 = edje_object_part_external_object_get(edje, "ext_pbar6");
85    progress = elm_progressbar_value_get(pb1) + 0.0123;
86
87    elm_progressbar_value_set(pb1, progress);
88    elm_progressbar_value_set(pb2, progress);
89    elm_progressbar_value_set(pb3, progress);
90    elm_progressbar_value_set(pb4, progress);
91    elm_progressbar_value_set(pb6, progress);
92
93    if (progress < 1.0)
94      return ECORE_CALLBACK_RENEW;
95
96    pb5 = edje_object_part_external_object_get(edje, "ext_pbar5");
97    pb7 = edje_object_part_external_object_get(edje, "ext_pbar7");
98    elm_progressbar_pulse(pb2, EINA_FALSE);
99    elm_progressbar_pulse(pb5, EINA_FALSE);
100    elm_progressbar_pulse(pb7, EINA_FALSE);
101
102    bt1 = edje_object_part_external_object_get(edje, "ext_button1");
103    bt2 = edje_object_part_external_object_get(edje, "ext_button2");
104    bt3 = edje_object_part_external_object_get(edje, "ext_button3");
105    elm_object_disabled_set(bt1, EINA_FALSE);
106    elm_object_disabled_set(bt2, EINA_FALSE);
107    elm_object_disabled_set(bt3, EINA_FALSE);
108    
109    return ECORE_CALLBACK_CANCEL;
110 }
111
112 static void
113 _bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
114 {
115    Evas_Object *edje = data;
116    Evas_Object *bt1, *bt2, *bt3, *pb1, *pb2, *pb3, *pb4, *pb5, *pb6, *pb7;
117
118    bt1 = edje_object_part_external_object_get(edje, "ext_button1");
119    bt2 = edje_object_part_external_object_get(edje, "ext_button2");
120    bt3 = edje_object_part_external_object_get(edje, "ext_button3");
121    elm_object_disabled_set(bt1, EINA_TRUE);
122    elm_object_disabled_set(bt2, EINA_TRUE);
123    elm_object_disabled_set(bt3, EINA_TRUE);
124
125    pb1 = edje_object_part_external_object_get(edje, "ext_pbar1");
126    pb1 = edje_object_part_external_object_get(edje, "ext_pbar1");
127    pb2 = edje_object_part_external_object_get(edje, "ext_pbar2");
128    pb3 = edje_object_part_external_object_get(edje, "ext_pbar3");
129    pb4 = edje_object_part_external_object_get(edje, "ext_pbar4");
130    pb5 = edje_object_part_external_object_get(edje, "ext_pbar5");
131    pb6 = edje_object_part_external_object_get(edje, "ext_pbar6");
132    pb7 = edje_object_part_external_object_get(edje, "ext_pbar7");
133
134    elm_progressbar_value_set(pb1, 0.0);
135    elm_progressbar_value_set(pb3, 0.0);
136    elm_progressbar_value_set(pb4, 0.0);
137    elm_progressbar_value_set(pb6, 0.0);
138
139    elm_progressbar_pulse(pb2, EINA_TRUE);
140    elm_progressbar_pulse(pb5, EINA_TRUE);
141    elm_progressbar_pulse(pb7, EINA_TRUE);
142
143    ecore_timer_add(0.1, _timer_cb, edje);
144 }
145
146 void
147 test_external_pbar(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
148 {
149    Evas_Object *win, *ly, *edje, *bt;
150    char buf[PATH_MAX];
151
152    win = elm_win_util_standard_add("ext_pbar", "Edje External ProgressBar");
153    elm_win_autodel_set(win, EINA_TRUE);
154
155    ly = elm_layout_add(win);
156    snprintf(buf, sizeof(buf), "%s/objects/test_external.edj", elm_app_data_dir_get());
157    elm_layout_file_set(ly, buf, "external/pbar");
158    evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
159    evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
160    elm_win_resize_object_add(win, ly);
161    evas_object_show(ly);
162
163    edje = elm_layout_edje_get(ly);
164    bt = edje_object_part_external_object_get(edje, "ext_button3");
165    evas_object_smart_callback_add(bt, "clicked", _bt_clicked, edje);
166
167    evas_object_resize(win, 320, 400);
168    evas_object_show(win);
169 }
170
171 void
172 test_external_video(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
173 {
174    Evas_Object *win, *ly;
175    char buf[PATH_MAX];
176
177    win = elm_win_util_standard_add("ext_video", "Edje External Video");
178    elm_win_autodel_set(win, EINA_TRUE);
179
180    ly = elm_layout_add(win);
181    snprintf(buf, sizeof(buf), "%s/objects/test_external.edj", elm_app_data_dir_get());
182    elm_layout_file_set(ly, buf, "external/video");
183    evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
184    evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
185    elm_win_resize_object_add(win, ly);
186    evas_object_show(ly);
187
188    evas_object_resize(win, 320, 400);
189    evas_object_show(win);
190 }
191
192
193 #endif