Simple gengrid
This code snippet demonstrates how to create a simple gengrid and populate it with 'home' icons.
//return home icon
static Evas_Object *_item_content_get(void *data, Evas_Object *obj, const char *part) {
Evas_Object *icon = elm_icon_add(obj);
elm_icon_standard_set(icon, "home");
evas_object_show(icon);
return icon;
}
static void gengrid_test(Evas_Object *parent) {
//create a gengrid
Evas_Object *grid = elm_gengrid_add(parent);
evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(parent, grid);
evas_object_show(grid);
//set horizontal mode
elm_gengrid_horizontal_set(grid, EINA_TRUE);
//set size of each item
elm_gengrid_item_size_set(grid, 150, 150);
//define gengrid class
Elm_Gengrid_Item_Class *gic;
gic = elm_gengrid_item_class_new();
gic->item_style = "default";
gic->func.content_get = _item_content_get;
//populate gengrid with items
for (int i = 0; i < 100; i++) {
elm_gengrid_item_append(grid, gic, NULL, NULL, NULL);
}
}