diff options
author | Vyacheslav Reutskiy <v.reutskiy@samsung.com> | 2016-10-11 14:38:34 +0300 |
---|---|---|
committer | Vyacheslav Reutskiy <v.reutskiy@samsung.com> | 2016-10-12 15:03:20 +0300 |
commit | 49689708a6b3b1223c1b3b8e307eed5943aea84d (patch) | |
tree | dd8f62ec35442ab146e0f80cbac7cf75f6411505 | |
parent | 0d9b168146f2b505d298a763d5bfaa6918074366 (diff) | |
download | efl-49689708a6b3b1223c1b3b8e307eed5943aea84d.tar.gz |
edje_edit: add API for generate group source code without 'collection'
-rw-r--r-- | src/lib/edje/Edje_Edit.h | 18 | ||||
-rw-r--r-- | src/lib/edje/edje_edit.c | 24 |
2 files changed, 36 insertions, 6 deletions
diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h index b219bd5460..4727e0abd9 100644 --- a/src/lib/edje/Edje_Edit.h +++ b/src/lib/edje/Edje_Edit.h @@ -8131,6 +8131,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 5120bce60e..48bc7142b7 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -12459,8 +12459,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; @@ -12588,7 +12588,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; @@ -12706,7 +12706,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"); @@ -12719,7 +12719,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) { @@ -12764,7 +12764,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) { @@ -12779,6 +12779,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 static Eina_Bool |