Elementary toolbar widget

This code snippet demonstrates how to use an elementary toolbar widget.
//callback for toolbar items selected
static void item_1_pressed_callback(void *data, Evas_Object *obj, void *event_info) {
	elm_object_text_set(data, "First item selected");
}

static void item_2_pressed_callback(void *data, Evas_Object *obj, void *event_info) {
	elm_object_text_set(data, "Second item selected");
}

static void toolbar_test(appdata_s *ad) {
	Evas_Object *box = elm_box_add(ad->win);
	evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	elm_win_resize_object_add(ad->win, box);
	evas_object_show(box);

	Evas_Object* label = elm_label_add(ad->win);
	elm_object_text_set(label, "N/A");
	evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	evas_object_size_hint_align_set(label, 0.5, 0.5);
	evas_object_show(label);

	//create the toolbar
	Evas_Object* toolbar = elm_toolbar_add(ad->win);
	evas_object_size_hint_weight_set(toolbar, 0.0, 0.0);
	evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, 0.0);
	evas_object_show(toolbar);
	
	//set shrink mode (here exceeding values will be shown in a popup menu)
	elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_MENU);

	//append some items to the toolbar
	elm_toolbar_item_append(toolbar, NULL, "ITEM 1", item_1_pressed_callback, label);
	elm_toolbar_item_append(toolbar, NULL, "ITEM 2", item_2_pressed_callback, label);

	//append a disabled item
	Elm_Object_Item *toolbar_item = elm_toolbar_item_append(toolbar, NULL, "ITEM 3",
	NULL, NULL);
	elm_object_item_disabled_set(toolbar_item, EINA_TRUE);

	elm_box_pack_end(box, toolbar);
	elm_box_pack_end(box, label);
}

Responses

0 Replies