static Evas_Object *
_page_grid_add(Evas_Object *parent, App_Inwin_Data *aid)
{
   Evas_Object *grid;
   char *theme, *emo;
   Eina_List *emos, *it;
   static Elm_Gengrid_Item_Class *it_class;
   it_class = elm_gengrid_item_class_new();
   it_class->item_style = "default";
   it_class->func.text_get = _emo_label_get;
   it_class->func.content_get = _emo_content_get;
   it_class->func.del = _emo_del;

   theme = elm_theme_list_item_path_get("default", NULL);
   if (!theme) return NULL;
   emos = edje_file_collection_list(theme);
   free(theme);
   if (!emos) return NULL;

   grid = elm_gengrid_add(parent);
   elm_gengrid_item_size_set(grid, 64, 80);
   evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL);

   EINA_LIST_FOREACH(emos, it, emo)
     {
        char name[512];

        if (strncmp(emo, "elm/entry/emoticon/", 19))
          continue;
        sscanf(emo, "elm/entry/emoticon/%[^/]/default", name);
        elm_gengrid_item_append(grid, it_class, strdup(name), _it_sel_cb, aid);
     }
EAPI_MAIN int
elm_main(int    argc,
         char **argv)
{
   Evas_Object *win, *grid, *idx;
   Elm_Object_Item *gg_it;
   unsigned int i;

   Elm_Gengrid_Item_Class gic;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
   elm_app_info_set(elm_main, "elementary", "images");

   win = elm_win_util_standard_add("index", "Index Example");
   elm_win_autodel_set(win, EINA_TRUE);

   grid = elm_gengrid_add(win);
   elm_gengrid_item_size_set(grid, 150, 150);

   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);
   elm_win_resize_object_add(win, grid);
   evas_object_show(grid);

   idx = elm_index_add(win);
   evas_object_size_hint_weight_set(idx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, idx);
   evas_object_show(idx);

   for (i = 0; i < (sizeof(items) / sizeof(items[0])); i++)
     {
        char buf[32];

        gg_it = elm_gengrid_item_append(grid, &gic, (void *)i, NULL, NULL);

        /* indexing by first letters */
        snprintf(buf, sizeof(buf), "%c", items[i][0]);
        elm_index_item_sorted_insert(idx, buf, NULL, gg_it, _index_icmp, NULL);
     }

   evas_object_smart_callback_add(idx, "delay,changed", _index_changed, NULL);

   elm_index_autohide_disabled_set(idx, EINA_FALSE);
   elm_index_level_go(idx, 0);

   evas_object_resize(win, 320, 300);
   evas_object_show(win);

   elm_run();
   elm_shutdown();

   return 0;
}
Exemplo n.º 3
0
/* append an item */
static void
_append_bt_clicked(void        *data,
                   Evas_Object *obj,
                   void        *event_info)
{
   Evas_Object *grid = data;
   Example_Item *it = _item_new();

   elm_gengrid_item_append(grid, gic, it, _grid_sel, NULL);
}
Exemplo n.º 4
0
void GengridItemBase::Append(Evas_Object *_gengrid)
{
        gengrid = _gengrid;
        item = elm_gengrid_item_append(gengrid,
                                       &item_class,
                                       this,
                                       _item_sel_cb, /* select function */
                                       this); /* select function data */
        elm_object_item_data_set(item, this);
        itemAdded();
}
Exemplo n.º 5
0
void
main_menu_update_libraries_list()
{
   Enlil_String *string;
   Eina_List *list = enlil_library_eet_path_load();

   elm_gengrid_clear(libraries_list);

   //
   Library *lib = calloc(1, sizeof(Library));
   lib->is_new_library = EINA_TRUE;
   lib->path = eina_stringshare_add("Add a new Library");
   elm_gengrid_item_append(libraries_list, &itc_grid, lib, _library_select,
                           NULL);
   //

EINA_LIST_FREE(list, string)
{
   Library *lib = calloc(1, sizeof(Library));
   lib->is_new_library = EINA_FALSE;
   lib->path = eina_stringshare_add(string->string);

   lib->photo1 = enlil_photo_new();
   Enlil_Photo_Data *photo_data1 = calloc(1, sizeof(Enlil_Photo_Data));
   enlil_photo_user_data_set(lib->photo1, photo_data1, enlil_photo_data_free);
   enlil_photo_mustNotBeSaved_set(lib->photo1, EINA_TRUE);

   lib->photo2 = enlil_photo_new();
   Enlil_Photo_Data *photo_data2 = calloc(1, sizeof(Enlil_Photo_Data));
   enlil_photo_user_data_set(lib->photo2, photo_data2, enlil_photo_data_free);
   enlil_photo_mustNotBeSaved_set(lib->photo2, EINA_TRUE);

   photo_data1->library_item = elm_gengrid_item_append(libraries_list, &itc_grid, lib, _library_select, NULL);
   photo_data2->library_item = photo_data1->library_item;

   EINA_STRINGSHARE_DEL(string->string);
   FREE(string);
}
Exemplo n.º 6
0
///////////////// GENGRID /////////////////////////////
static void
_entrance_fill_gengrid(Evas_Object *obj, Entrance_Fill *ef, Eina_List *contents, Evas_Smart_Cb func)
{
   Eina_List *l;
   Elm_Gengrid_Item_Class *ggc;
   void *content;

   if (!ef->ggc)
     {
        ggc = elm_gengrid_item_class_new();
        ef->ggc = ggc;
     }
   else
     ggc = ef->ggc;
   ggc->item_style = ef->item_style;
   ggc->func.text_get = ef->func.text_get;
   ggc->func.content_get = ef->func.content_get;
   ggc->func.state_get = ef->func.state_get;
   ggc->func.del = ef->func.del;

   EINA_LIST_FOREACH(contents, l, content)
      elm_gengrid_item_append(obj, ggc,
                              content, func, content);
}