nikawhite pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2006c01c06fe2d0642d5ec8787513527f6b298d8

commit 2006c01c06fe2d0642d5ec8787513527f6b298d8
Author: Mykyta Biliavskyi <m.biliavs...@samsung.com>
Date:   Tue Apr 19 14:06:40 2016 +0300

    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 542b692..aeba548 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;
      }

-- 


Reply via email to