rimmed pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=49689708a6b3b1223c1b3b8e307eed5943aea84d

commit 49689708a6b3b1223c1b3b8e307eed5943aea84d
Author: Vyacheslav Reutskiy <v.reuts...@samsung.com>
Date:   Tue Oct 11 14:38:34 2016 +0300

    edje_edit: add API for generate group source code without 'collection'
---
 src/lib/edje/Edje_Edit.h | 18 ++++++++++++++++++
 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 b219bd5..4727e0a 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 5120bce..48bc714 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

-- 


Reply via email to