1 #include <Elementary.h>
2 #ifndef ELM_LIB_QUICKLAUNCH
3 typedef struct Progressbar
16 static Progressbar _test_progressbar;
19 _my_progressbar_value_set (void *data)
23 progress = elm_progressbar_value_get (_test_progressbar.pb1);
24 if (progress < 1.0) progress += 0.0123;
26 elm_progressbar_value_set(_test_progressbar.pb1, progress);
27 elm_progressbar_value_set(_test_progressbar.pb4, progress);
28 elm_progressbar_value_set(_test_progressbar.pb3, progress);
29 elm_progressbar_value_set(_test_progressbar.pb6, progress);
30 if (progress < 1.0) return ECORE_CALLBACK_RENEW;
31 _test_progressbar.run = 0;
32 return ECORE_CALLBACK_CANCEL;
36 my_progressbar_test_start(void *data, Evas_Object *obj, void *event_info)
38 elm_progressbar_pulse(_test_progressbar.pb2, EINA_TRUE);
39 elm_progressbar_pulse(_test_progressbar.pb5, EINA_TRUE);
40 elm_progressbar_pulse(_test_progressbar.pb7, EINA_TRUE);
41 if (!_test_progressbar.run)
43 _test_progressbar.timer = ecore_timer_add(0.1, _my_progressbar_value_set, NULL);
44 _test_progressbar.run = EINA_TRUE;
49 my_progressbar_test_stop(void *data, Evas_Object *obj, void *event_info)
51 elm_progressbar_pulse(_test_progressbar.pb2, EINA_FALSE);
52 elm_progressbar_pulse(_test_progressbar.pb5, EINA_FALSE);
53 elm_progressbar_pulse(_test_progressbar.pb7, EINA_FALSE);
54 if (_test_progressbar.run)
56 ecore_timer_del(_test_progressbar.timer);
57 _test_progressbar.run = EINA_FALSE;
62 my_progressbar_destroy(void *data, Evas_Object *obj, void *event_info)
64 my_progressbar_test_stop(NULL, NULL, NULL);
69 test_progressbar(void *data, Evas_Object *obj, void *event_info)
71 Evas_Object *win, *bg, *pb, *bx, *hbx, *bt, *bt_bx, *ic1, *ic2;
74 win = elm_win_add(NULL, "progressbar", ELM_WIN_BASIC);
75 elm_win_title_set(win, "Progressbar");
76 evas_object_smart_callback_add(win, "delete,request",
77 my_progressbar_destroy, NULL);
80 elm_win_resize_object_add(win, bg);
81 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
84 bx = elm_box_add(win);
85 elm_win_resize_object_add(win, bx);
86 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
89 pb = elm_progressbar_add(win);
90 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
91 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
92 elm_box_pack_end(bx, pb);
93 // elm_progressbar_horizontal_set(pb, EINA_TRUE);
94 // elm_progressbar_label_set(pb, "Progression %");
95 // elm_progressbar_unit_format_set(pb, NULL);
97 _test_progressbar.pb1 = pb;
99 pb = elm_progressbar_add(win);
100 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
101 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
102 elm_progressbar_label_set(pb, "Infinite bounce");
103 elm_progressbar_pulse_set(pb, EINA_TRUE);
104 elm_box_pack_end(bx, pb);
105 evas_object_show(pb);
106 _test_progressbar.pb2 = pb;
108 ic1 = elm_icon_add(win);
109 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
110 elm_icon_file_set(ic1, buf, NULL);
111 evas_object_size_hint_aspect_set(ic1, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
113 pb = elm_progressbar_add(win);
114 elm_progressbar_label_set(pb, "Label");
115 elm_progressbar_icon_set(pb, ic1);
116 elm_progressbar_inverted_set(pb, 1);
117 elm_progressbar_unit_format_set(pb, "%1.1f units");
118 elm_progressbar_span_size_set(pb, 200);
119 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
120 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
121 elm_box_pack_end(bx, pb);
122 evas_object_show(ic1);
123 evas_object_show(pb);
124 _test_progressbar.pb3 = pb;
126 hbx = elm_box_add(win);
127 elm_box_horizontal_set(hbx, EINA_TRUE);
128 evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
129 evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, EVAS_HINT_FILL);
130 elm_box_pack_end(bx, hbx);
131 evas_object_show(hbx);
133 pb = elm_progressbar_add(win);
134 elm_progressbar_horizontal_set(pb, EINA_FALSE);
135 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, EVAS_HINT_FILL);
136 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
137 elm_box_pack_end(hbx, pb);
138 elm_progressbar_span_size_set(pb, 60);
139 elm_progressbar_label_set(pb, "percent");
140 evas_object_show(pb);
141 _test_progressbar.pb4 = pb;
143 pb = elm_progressbar_add(win);
144 elm_progressbar_horizontal_set(pb, EINA_FALSE);
145 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
146 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
147 elm_progressbar_span_size_set(pb, 80);
148 elm_progressbar_pulse_set(pb, EINA_TRUE);
149 elm_progressbar_unit_format_set(pb, NULL);
150 elm_progressbar_label_set(pb, "Infinite bounce");
151 elm_box_pack_end(hbx, pb);
152 evas_object_show(pb);
153 _test_progressbar.pb5 = pb;
155 ic2 = elm_icon_add(win);
156 elm_icon_file_set(ic2, buf, NULL);
157 evas_object_size_hint_aspect_set(ic2, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1);
159 pb = elm_progressbar_add(win);
160 elm_progressbar_horizontal_set(pb, EINA_FALSE);
161 elm_progressbar_label_set(pb, "Label");
162 elm_progressbar_icon_set(pb, ic2);
163 elm_progressbar_inverted_set(pb, 1);
164 elm_progressbar_unit_format_set(pb, "%1.2f%%");
165 elm_progressbar_span_size_set(pb, 200);
166 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
167 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
168 elm_box_pack_end(hbx, pb);
169 evas_object_show(ic2);
170 evas_object_show(pb);
171 _test_progressbar.pb6 = pb;
173 pb = elm_progressbar_add(win);
174 elm_object_style_set(pb, "wheel");
175 elm_progressbar_label_set(pb, "Style: wheel");
176 evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5);
177 evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
178 elm_box_pack_end(bx, pb);
179 evas_object_show(pb);
180 _test_progressbar.pb7 = pb;
182 bt_bx = elm_box_add(win);
183 elm_box_horizontal_set(bt_bx, 1);
184 evas_object_size_hint_weight_set(bt_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
185 elm_box_pack_end(bx, bt_bx);
186 evas_object_show(bt_bx);
188 bt = elm_button_add(win);
189 elm_button_label_set(bt, "Start");
190 evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start, NULL);
191 elm_box_pack_end(bt_bx, bt);
192 evas_object_show(bt);
194 bt = elm_button_add(win);
195 elm_button_label_set(bt, "Stop");
196 evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop, NULL);
197 elm_box_pack_end(bt_bx, bt);
198 evas_object_show(bt);
200 evas_object_show(win);