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