diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 542b69299e..aeba548546 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -11558,6 +11558,7 @@ _edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Str Edje_Program *epr; int tweenmode = 0; + GET_ED_OR_RETURN(EINA_FALSE); GET_EED_OR_RETURN(EINA_FALSE); epr = _edje_program_get_byname(obj, program); @@ -11565,14 +11566,16 @@ _edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Str BUF_APPENDF(I3 "program { name: \"%s\";\n", program); /* Signal */ - if ((s = eina_stringshare_add(epr->signal))) + s = eina_stringshare_add(epr->signal); + if ((s != NULL) && (strcmp(s, ""))) { BUF_APPENDF(I4 "signal: \"%s\";\n", s); edje_edit_string_free(s); } /* Source */ - if ((s = eina_stringshare_add(epr->source))) + s = eina_stringshare_add(epr->source); + if ((s != NULL) && (strcmp(s, ""))) { BUF_APPENDF(I4 "source: \"%s\";\n", s); edje_edit_string_free(s); @@ -11696,6 +11699,48 @@ _edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Str break; } + case EDJE_ACTION_TYPE_FOCUS_SET: + { + BUF_APPEND(I4 "action: FOCUS_SET;\n"); + break; + } + + case EDJE_ACTION_TYPE_FOCUS_OBJECT: + { + BUF_APPEND(I4 "action: FOCUS_OBJECT;\n"); + break; + } + + case EDJE_ACTION_TYPE_PARAM_COPY: + { + Edje_Real_Part *src_part, *dst_part; + + src_part = ed->table_parts[epr->param.src % ed->table_parts_size]; + dst_part = ed->table_parts[epr->param.dst % ed->table_parts_size]; + + if (!src_part || !dst_part) break; + + BUF_APPEND(I4 "action: PARAM_COPY "); + BUF_APPENDF("\"%s\" \"%s\" \"%s\" \"%s\";\n", + src_part->part->name, epr->state, + dst_part->part->name, epr->state2); + break; + } + + case EDJE_ACTION_TYPE_PARAM_SET: + { + Edje_Real_Part *part; + + part = ed->table_parts[epr->param.dst % ed->table_parts_size]; + + if (!part) break; + + BUF_APPEND(I4 "action: PARAM_SET "); + BUF_APPENDF("\"%s\" \"%s\" \"%s\";\n", + part->part->name, epr->state, epr->state2); + break; + } + default: break; }