#include <Elementary.h>
static const char *items[] =
{
"Judith",
"Paulina",
"Cathy",
"Vendella",
"Naomi",
"Ashley",
"Stacey",
"Gail"
};
static void
_index_changed(void *data,
Evas_Object *obj,
void *event_info)
{
}
static char *
_grid_label_get(void *data,
Evas_Object *obj,
const char *part)
{
int idx = (int)(uintptr_t)data;
return strdup(items[idx]);
}
Evas_Object *
_grid_content_get(void *data,
Evas_Object *obj,
const char *part)
{
if (!strcmp(part, "elm.swallow.icon"))
{
char buf[PATH_MAX];
"sky_01.jpg");
evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1,
1);
evas_object_show(icon);
return icon;
}
return NULL;
}
static int
_index_icmp(const void *data1,
const void *data2)
{
const char *label1, *label2;
return strcasecmp(label1, label2);
}
EAPI_MAIN int
elm_main(int argc,
char **argv)
{
Evas_Object *win, *grid, *idx;
unsigned int i;
gic.item_style = "default";
gic.func.text_get = _grid_label_get;
gic.func.content_get = _grid_content_get;
gic.func.state_get = NULL;
gic.func.del = NULL;
evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(grid);
evas_object_size_hint_weight_set(idx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(idx);
for (i = 0; i < (sizeof(items) / sizeof(items[0])); i++)
{
char buf[32];
snprintf(buf, sizeof(buf), "%c", items[i][0]);
}
evas_object_smart_callback_add(idx, "delay,changed", _index_changed, NULL);
evas_object_resize(win, 320, 300);
evas_object_show(win);
return 0;
}