1 #include <Elementary.h>
3 # include "elementary_config.h"
5 #ifndef ELM_LIB_QUICKLAUNCH
6 typedef struct Progressbar
19 static Progressbar _test_progressbar;
22 _my_progressbar_value_set (void *data __UNUSED__)
26 progress = elm_progressbar_value_get (_test_progressbar.pb1);
27 if (progress < 1.0) progress += 0.0123;
29 elm_progressbar_value_set(_test_progressbar.pb1, progress);
30 elm_progressbar_value_set(_test_progressbar.pb4, progress);
31 elm_progressbar_value_set(_test_progressbar.pb3, progress);
32 elm_progressbar_value_set(_test_progressbar.pb6, progress);
33 if (progress < 1.0) return ECORE_CALLBACK_RENEW;
34 _test_progressbar.run = 0;
35 return ECORE_CALLBACK_CANCEL;
39 my_progressbar_test_start(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
41 elm_progressbar_pulse(_test_progressbar.pb2, EINA_TRUE);
42 elm_progressbar_pulse(_test_progressbar.pb5, EINA_TRUE);
43 elm_progressbar_pulse(_test_progressbar.pb7, EINA_TRUE);
44 if (!_test_progressbar.run)
46 _test_progressbar.timer = ecore_timer_add(0.1, _my_progressbar_value_set, NULL);
47 _test_progressbar.run = EINA_TRUE;
52 my_progressbar_test_stop(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
54 elm_progressbar_pulse(_test_progressbar.pb2, EINA_FALSE);
55 elm_progressbar_pulse(_test_progressbar.pb5, EINA_FALSE);
56 elm_progressbar_pulse(_test_progressbar.pb7, EINA_FALSE);
57 if (_test_progressbar.run)
59 ecore_timer_del(_test_progressbar.timer);
60 _test_progressbar.run = EINA_FALSE;
65 my_progressbar_destroy(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
67 my_progressbar_test_stop(NULL, NULL, NULL);
72 test_progressbar(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
74 Evas_Object *win, *bg, *pb, *bx, *hbx, *bt, *bt_bx, *ic1, *ic2;
77 win = elm_win_add(NULL, "progressbar", ELM_WIN_BASIC);
78 elm_win_title_set(win, "Progressbar");
79 evas_object_smart_callback_add(win, "delete,request",
80 my_progressbar_destroy, NULL);
83 elm_win_resize_object_add(win, bg);
84 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
87 bx = elm_box_add(win);
88 elm_win_resize_object_add(win, bx);
89 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
92 pb = elm_progressbar_add(win);
93 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
94 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
95 elm_box_pack_end(bx, pb);
96 // elm_progressbar_horizontal_set(pb, EINA_TRUE);
97 // elm_object_text_set(pb, "Progression %");
98 // elm_progressbar_unit_format_set(pb, NULL);
100 _test_progressbar.pb1 = pb;
102 pb = elm_progressbar_add(win);
103 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
104 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
105 elm_object_text_set(pb, "Infinite bounce");
106 elm_progressbar_pulse_set(pb, EINA_TRUE);
107 elm_box_pack_end(bx, pb);
108 evas_object_show(pb);
109 _test_progressbar.pb2 = pb;
111 ic1 = elm_icon_add(win);
112 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
113 elm_icon_file_set(ic1, buf, NULL);
114 evas_object_size_hint_aspect_set(ic1, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
116 pb = elm_progressbar_add(win);
117 elm_object_text_set(pb, "Label");
118 elm_object_content_part_set(pb, "icon", ic1);
119 elm_progressbar_inverted_set(pb, 1);
120 elm_progressbar_unit_format_set(pb, "%1.1f units");
121 elm_progressbar_span_size_set(pb, 200);
122 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
123 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
124 elm_box_pack_end(bx, pb);
125 evas_object_show(ic1);
126 evas_object_show(pb);
127 _test_progressbar.pb3 = pb;
129 hbx = elm_box_add(win);
130 elm_box_horizontal_set(hbx, EINA_TRUE);
131 evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
132 evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, EVAS_HINT_FILL);
133 elm_box_pack_end(bx, hbx);
134 evas_object_show(hbx);
136 pb = elm_progressbar_add(win);
137 elm_progressbar_horizontal_set(pb, EINA_FALSE);
138 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, EVAS_HINT_FILL);
139 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
140 elm_box_pack_end(hbx, pb);
141 elm_progressbar_span_size_set(pb, 60);
142 elm_object_text_set(pb, "percent");
143 evas_object_show(pb);
144 _test_progressbar.pb4 = pb;
146 pb = elm_progressbar_add(win);
147 elm_progressbar_horizontal_set(pb, EINA_FALSE);
148 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
149 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
150 elm_progressbar_span_size_set(pb, 80);
151 elm_progressbar_pulse_set(pb, EINA_TRUE);
152 elm_progressbar_unit_format_set(pb, NULL);
153 elm_object_text_set(pb, "Infinite bounce");
154 elm_box_pack_end(hbx, pb);
155 evas_object_show(pb);
156 _test_progressbar.pb5 = pb;
158 ic2 = elm_icon_add(win);
159 elm_icon_file_set(ic2, buf, NULL);
160 evas_object_size_hint_aspect_set(ic2, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1);
162 pb = elm_progressbar_add(win);
163 elm_progressbar_horizontal_set(pb, EINA_FALSE);
164 elm_object_text_set(pb, "Label");
165 elm_object_content_part_set(pb, "icon", ic2);
166 elm_progressbar_inverted_set(pb, 1);
167 elm_progressbar_unit_format_set(pb, "%1.2f%%");
168 elm_progressbar_span_size_set(pb, 200);
169 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
170 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
171 elm_box_pack_end(hbx, pb);
172 evas_object_show(ic2);
173 evas_object_show(pb);
174 _test_progressbar.pb6 = pb;
176 pb = elm_progressbar_add(win);
177 elm_object_style_set(pb, "wheel");
178 elm_object_text_set(pb, "Style: wheel");
179 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
180 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
181 elm_box_pack_end(bx, pb);
182 evas_object_show(pb);
183 _test_progressbar.pb7 = pb;
185 bt_bx = elm_box_add(win);
186 elm_box_horizontal_set(bt_bx, EINA_TRUE);
187 evas_object_size_hint_weight_set(bt_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
188 elm_box_pack_end(bx, bt_bx);
189 evas_object_show(bt_bx);
191 bt = elm_button_add(win);
192 elm_object_text_set(bt, "Start");
193 evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start, NULL);
194 elm_box_pack_end(bt_bx, bt);
195 evas_object_show(bt);
197 bt = elm_button_add(win);
198 elm_object_text_set(bt, "Stop");
199 evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop, NULL);
200 elm_box_pack_end(bt_bx, bt);
201 evas_object_show(bt);
203 evas_object_show(win);