From: Vyacheslav Reutskiy Date: Tue, 11 Oct 2016 11:38:34 +0000 (+0300) Subject: edje_edit: add API for generate group source code without 'collection' X-Git-Tag: accepted/tizen/common/20161019.145824~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7f0efd45e8946fa7ac215bb4602ac3be8e31fe13;p=platform%2Fupstream%2Fefl.git edje_edit: add API for generate group source code without 'collection' Change-Id: I1b48b753de6d0a913a58c700aabb529e0ef6d9b0 Signed-off-by: Vyacheslav Reutskiy --- diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h index 07e096e..f5fc884 100644 --- a/src/lib/edje/Edje_Edit.h +++ b/src/lib/edje/Edje_Edit.h @@ -7839,6 +7839,24 @@ EAPI const Eina_List *edje_edit_script_error_list_get(Evas_Object *obj); EAPI const char *edje_edit_source_generate(Evas_Object *obj); /** + * Return source code of the current edje edit object. + * + * Remember to free the string with edje_edit_string_free() + * + * This function will return source code of the whole group, loaded previously. + * This function also will collect all possible resources that is required and + * mentioned in description blocks. For example: all images, fonts, styles and + * color_classes. + * + * @note A source code will be top block 'collection'. + * + * @param obj The object being edited + * + * @return Source code containing all resources required by the object. + */ + +EAPI const char * edje_edit_object_source_generate(Evas_Object *obj); +/** * Return source code of all collections. * * Remember to free the string with free() diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 0482012..5bed61f 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -12133,8 +12133,8 @@ error: return NULL; } -EAPI const char * -edje_edit_source_generate(Evas_Object *obj) +static const char * +_edje_edit_source_generate(Evas_Object *obj, Eina_Bool without_global_data) { Edje_Part_Collection_Directory_Entry *ce; Edje_Part *part; @@ -12262,7 +12262,7 @@ edje_edit_source_generate(Evas_Object *obj) buf = eina_strbuf_new(); /* If data items exist, print them */ - if (ed->file->data) + if (!without_global_data && ed->file->data) { Edje_String *es; size_t data_len = 0; @@ -12382,7 +12382,7 @@ edje_edit_source_generate(Evas_Object *obj) eina_list_free(fonts); } /* if color_classes were found, print them */ - if (color_classes) + if (!without_global_data && color_classes) { BUF_APPEND(I0 "color_classes {\n"); @@ -12395,7 +12395,7 @@ edje_edit_source_generate(Evas_Object *obj) /* print the main code of group collections */ - BUF_APPEND(I0 "collections {\n"); + if (!without_global_data) BUF_APPEND(I0 "collections {\n"); /* if sounds were found, print them */ if (sounds) { @@ -12440,7 +12440,7 @@ edje_edit_source_generate(Evas_Object *obj) BUF_APPEND(I1 "}\n"); } _edje_generate_source_of_group(ed, ce, buf); - BUF_APPEND(I0 "}"); + if (!without_global_data) BUF_APPEND(I0 "}"); if (!ret) { @@ -12455,6 +12455,18 @@ edje_edit_source_generate(Evas_Object *obj) return str; } +EAPI const char * +edje_edit_source_generate(Evas_Object *obj) +{ + return _edje_edit_source_generate(obj, EINA_FALSE); +} + +EAPI const char * +edje_edit_object_source_generate(Evas_Object *obj) +{ + return _edje_edit_source_generate(obj, EINA_TRUE); +} + #undef COLLECT_RESOURCE /*