edje_edit: add API for generate group source code without 'collection' 08/92008/3
authorVyacheslav Reutskiy <v.reutskiy@samsung.com>
Tue, 11 Oct 2016 11:38:34 +0000 (14:38 +0300)
committerJaehyun Cho <jae_hyun.cho@samsung.com>
Mon, 17 Oct 2016 07:01:44 +0000 (00:01 -0700)
Change-Id: I1b48b753de6d0a913a58c700aabb529e0ef6d9b0
Signed-off-by: Vyacheslav Reutskiy <v.reutskiy@samsung.com>
src/lib/edje/Edje_Edit.h
src/lib/edje/edje_edit.c

index 07e096e..f5fc884 100644 (file)
@@ -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()
index 0482012..5bed61f 100644 (file)
@@ -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
 
 /*