rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=3f6e1c275ad2ac36fbf09875d0c7b0a0d157a8cd
commit 3f6e1c275ad2ac36fbf09875d0c7b0a0d157a8cd Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Tue Jan 5 16:17:03 2016 +0200 diff: add FUNCTION_TYPE_STRING_EDJECHANNEL --- src/bin/editor/diff.c | 12 ++++++++++++ src/bin/editor/diff.h | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/src/bin/editor/diff.c b/src/bin/editor/diff.c index 804429c..b0d7807 100644 --- a/src/bin/editor/diff.c +++ b/src/bin/editor/diff.c @@ -72,6 +72,8 @@ typedef Eina_Bool (* function_type_string_uchar) (Evas_Object *, Change*, Eina_B const char *, unsigned char); typedef Eina_Bool (* function_type_string_edjeactiontype) (Evas_Object *, Change*, Eina_Bool, const char *, Edje_Action_Type); +typedef Eina_Bool (* function_type_string_edjechannel) (Evas_Object *, Change*, Eina_Bool, + const char *, Edje_Channel); static Eina_Bool _apply(Evas_Object *obj, Function_Info *fi) @@ -159,6 +161,9 @@ _apply(Evas_Object *obj, Function_Info *fi) case FUNCTION_TYPE_STRING_EDJEACTIONTYPE: return ((function_type_string_edjeactiontype)fi->function)(obj, NULL, false, fi->args.type_seat.s1, fi->args.type_seat.eat2); + case FUNCTION_TYPE_STRING_EDJECHANNEL: + return ((function_type_string_edjechannel)fi->function)(obj, NULL, false, + fi->args.type_sec.s1, fi->args.type_sec.ec2); /* Don't add 'case default:'. Compiler should warn about new values in enum */ } @@ -335,6 +340,10 @@ diff_update(Diff *diff, Diff *new_diff) eina_stringshare_del(diff->redo.args.type_seat.s1); eina_stringshare_ref(new_diff->redo.args.type_seat.s1); break; + case FUNCTION_TYPE_STRING_EDJECHANNEL: + eina_stringshare_del(diff->redo.args.type_sec.s1); + eina_stringshare_ref(new_diff->redo.args.type_sec.s1); + break; /* Do not forget to replace previous stringshares in existing_diff.redo if needed. */ /* Don't add 'case default:'. Compiler should warn about new values in enum */ @@ -447,6 +456,9 @@ diff_free(Diff *diff) case FUNCTION_TYPE_STRING_EDJEACTIONTYPE: eina_stringshare_del(diff->redo.args.type_seat.s1); break; + case FUNCTION_TYPE_STRING_EDJECHANNEL: + eina_stringshare_del(diff->redo.args.type_sec.s1); + break; /* Do not forget to clean stringshares */ /* Don't add 'case default:'. Compiler should warn about new values in enum */ } diff --git a/src/bin/editor/diff.h b/src/bin/editor/diff.h index 396bc88..741969d 100644 --- a/src/bin/editor/diff.h +++ b/src/bin/editor/diff.h @@ -50,6 +50,7 @@ typedef enum { FUNCTION_TYPE_STRING_EVASOBJECTPOINTERMODE, FUNCTION_TYPE_STRING_UCHAR, FUNCTION_TYPE_STRING_EDJEACTIONTYPE, + FUNCTION_TYPE_STRING_EDJECHANNEL, } Function_Type; struct _Function_Info { @@ -186,6 +187,10 @@ struct _Function_Info { Eina_Stringshare *s1; Edje_Action_Type eat2; } type_seat; + struct { + Eina_Stringshare *s1; + Edje_Channel ec2; + } type_sec; } args; /**< function args not including Evas_Object * */ }; --