Create a simple button in EFL with specified action

An example of function which returns button with specified text label and performing specified action after click ready to pack to parent component
#include <efl_extension.h>
#include <dlog.h> // for logging purposes

static void
clicked_cb(void *user_data, Evas_Object *obj, void *event_info)
{
//	Click action
	LOGI("button clicked!");
}

static Evas_Object*
create_button(Evas_Object *parent, char *text, Evas_Smart_Cb func)
{
	Evas_Object *button;
	char buf[PATH_MAX];

	button = elm_button_add(parent);
	evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0.0);
	evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL);
	snprintf(buf, sizeof(buf), "%s", text);
	elm_object_text_set(button, buf);
	evas_object_smart_callback_add(button, "clicked", func, NULL);
	evas_object_show(button);

	return button;
}

Responses

0 Replies