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;
}