#include <Elementary.h>
#define TABLE "example/table"
#define BOX "example/box"
#define TITLE "example/title"
#define SWALLOW "example/custom"
static int _box_buttons = 0;
static void
_tbl_btn_cb(void *data, Evas_Object *btn, void *event_info)
{
Evas_Object *layout = data;
elm_layout_table_unpack(layout, TABLE, btn);
evas_object_del(btn);
}
static void
_box_btn_cb(void *data, Evas_Object *btn, void *event_info)
{
Evas_Object *layout = data;
Evas_Object *item;
char buf[30];
snprintf(buf, sizeof(buf), "Button %02d", _box_buttons++);
elm_object_text_set(item, buf);
evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_layout_box_insert_before(layout, BOX, item, btn);
evas_object_smart_callback_add(item, "clicked", _box_btn_cb, layout);
evas_object_show(item);
}
static void
_swallow_btn_cb(void *data, Evas_Object *btn, void *event_info)
{
Evas_Object *layout = data;
Evas_Object *item;
elm_layout_table_clear(layout, TABLE, EINA_TRUE);
elm_layout_box_remove_all(layout, BOX, EINA_TRUE);
evas_object_del(item);
}
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *win, *icon, *icon2, *bt, *bt2, *layout;
Evas_Object *clk;
Evas_Object *item;
char buf[PATH_MAX];
elm_win_autodel_set(win, EINA_TRUE);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, layout);
evas_object_show(layout);
const char *title = elm_layout_data_get(layout, "title");
if (title)
{
elm_win_title_set(win, title);
}
elm_icon_standard_set(icon, "home");
evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_layout_table_pack(layout, TABLE, icon, 0, 0, 1, 1);
evas_object_show(icon);
elm_icon_standard_set(icon2, "close");
evas_object_size_hint_weight_set(icon2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(icon2, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_layout_table_pack(layout, TABLE, icon2, 1, 0, 1, 1);
evas_object_show(icon2);
evas_object_size_hint_weight_set(clk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(clk, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_layout_table_pack(layout, TABLE, clk, 2, 0, 1, 1);
evas_object_show(clk);
elm_object_text_set(bt, "Click me!");
evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_layout_table_pack(layout, TABLE, bt, 0, 1, 3, 1);
evas_object_smart_callback_add(bt, "clicked", _tbl_btn_cb, layout);
evas_object_show(bt);
elm_object_text_set(item, "Position 0");
evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_layout_box_insert_at(layout, BOX, item, 0);
evas_object_smart_callback_add(item, "clicked", _box_btn_cb, layout);
evas_object_show(item);
elm_object_text_set(item, "Prepended");
evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_layout_box_prepend(layout, BOX, item);
evas_object_smart_callback_add(item, "clicked", _box_btn_cb, layout);
evas_object_show(item);
elm_object_text_set(bt2, "Delete All");
evas_object_smart_callback_add(bt2, "clicked", _swallow_btn_cb, layout);
evas_object_resize(win, 320, 320);
evas_object_show(win);
return 0;
}