Vertical progressbar

This code snippet shows how to create a vertical progressbar with a label and inverted values.
// update progressbar, 1% for each call
static Eina_Bool progressbar_value_set(void *data) {
	Evas_Object *progressbar = data;
	double progress = elm_progressbar_value_get(progressbar);
	if (progress < 1.0) {
		progress += 0.01;
		elm_progressbar_value_set(progressbar, progress);
		return ECORE_CALLBACK_RENEW;
	}
	return ECORE_CALLBACK_CANCEL;
}

static void progressbar_test(appdata_s *ad) {

	// create a progressbar
	Evas_Object *progressbar = elm_progressbar_add(ad->win);
	elm_progressbar_horizontal_set(progressbar, EINA_FALSE);
	evas_object_resize(progressbar, 100, 200);
	evas_object_move(progressbar, 100, 100);
	elm_progressbar_value_set(progressbar, 0);

	// set style to default
	elm_object_style_set(progressbar, "default");

	// create a label
	elm_object_text_set(progressbar, "label");

	// invert (low values at the bottom)
	elm_progressbar_inverted_set(progressbar, EINA_TRUE);

	// show our progressbar
	evas_object_show(progressbar);

	// add a timer to change progressbar values (demo)
	ecore_timer_add(0.1, progressbar_value_set, progressbar);
}

Responses

0 Replies