From 2006c01c06fe2d0642d5ec8787513527f6b298d8 Mon Sep 17 00:00:00 2001 From: Mykyta Biliavskyi Date: Tue, 19 Apr 2016 14:06:40 +0300 Subject: [PATCH] Edje edit: add new program actions into code generate function. Generate edc source code for next action types: - EDJE_ACTION_TYPE_FOCUS_SET - EDJE_ACTION_TYPE_FOCUS_OBJECT - EDJE_ACTION_TYPE_PARAM_COPY - EDJE_ACTION_TYPE_PARAM_SET --- src/lib/edje/edje_edit.c | 49 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) 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; }