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()
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;
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;
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");
/* 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)
{
BUF_APPEND(I1 "}\n");
}
_edje_generate_source_of_group(ed, ce, buf);
- BUF_APPEND(I0 "}");
+ if (!without_global_data) BUF_APPEND(I0 "}");
if (!ret)
{
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
/*