rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=dc81a51f4f4917c250e083aa211bb0af1022cc06
commit dc81a51f4f4917c250e083aa211bb0af1022cc06 Author: Vitalii Vorobiov <[email protected]> Date: Wed Jan 18 18:04:42 2017 +0200 image_manager: show list of vectors which are inside of this project --- src/bin/ui/image_manager.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index 3c57a57..ddf0ea4 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -88,6 +88,7 @@ static void _image_info_setup(const Image_Item* it); static Image_Manager mng; static Elm_Gengrid_Item_Class *gic_group = NULL; +static Elm_Gengrid_Item_Class *gic_vector = NULL; static Elm_Gengrid_Item_Class *gic = NULL; static Elm_Gengrid_Item_Class *gic_set = NULL; @@ -114,6 +115,16 @@ _grid_label_get(void *data, } } +static char * +_grid_vector_label_get(void *data, + Evas_Object *obj __UNUSED__, + const char *part __UNUSED__) +{ + const Eina_Stringshare *vector_name = data; + + return strdup(vector_name); +} + static void _image_manager_image_setup(Evas_Object *image, const Image_Item *it) @@ -441,6 +452,17 @@ empty_content: /* deletion callback */ static void +_grid_vector_del(void *data, + Evas_Object *obj __UNUSED__) +{ + Eina_Stringshare *vector_name = data; + + assert(vector_name != NULL); + + eina_stringshare_del(vector_name); +} + +static void _grid_del(void *data, Evas_Object *obj __UNUSED__) { @@ -901,6 +923,7 @@ _image_manager_init(void) int counter = 0; Image2 *res = NULL; Image_Set2 *image_set = NULL; + Vector2 *vector = NULL; Eina_Stringshare *name; images = ap.project->RM.images; @@ -951,6 +974,18 @@ _image_manager_init(void) */ name = eina_stringshare_add(_("Vectors")); mng.vector_header = elm_gengrid_item_append(mng.gengrid, gic_group, name, NULL, NULL); + counter = 0; + EINA_LIST_FOREACH(ap.project->RM.vectors, l, vector) + { + counter++; + if (!vector->common.name) + { + ERR("name not found for vector #%d",counter); + continue; + } + + elm_gengrid_item_append(mng.gengrid, gic_vector, eina_stringshare_add(vector->common.name), NULL, NULL); + } return true; } @@ -1070,6 +1105,15 @@ image_manager_add(void) gic_group->func.del = _grid_group_del; } + if (!gic_vector) + { + gic_vector = elm_gengrid_item_class_new(); + gic_vector->item_style = "default"; + gic_vector->func.text_get = _grid_vector_label_get; + gic_vector->func.content_get = NULL; /* Not until it would be able to get svg from edj */ + gic_vector->func.del = _grid_vector_del; + } + mng.gengrid = elm_gengrid_add(mng.layout); elm_object_part_content_set(mng.layout, "elm.swallow.list", mng.gengrid); elm_gengrid_item_size_set(mng.gengrid, ITEM_WIDTH, ITEM_HEIGHT); --
