rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=5599df4dcf593fddb14923c024def0f552942d97
commit 5599df4dcf593fddb14923c024def0f552942d97 Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Wed Jan 6 12:10:51 2016 +0200 diff: add FUNCTION_TYPE_STRING_DOUBLE --- 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 f8dd56d..740fbc9 100644 --- a/src/bin/editor/diff.c +++ b/src/bin/editor/diff.c @@ -76,6 +76,8 @@ typedef Eina_Bool (* function_type_string_edjechannel) (Evas_Object *, Change*, const char *, Edje_Channel); typedef Eina_Bool (* function_type_string_edjetweenmode) (Evas_Object *, Change*, Eina_Bool, const char *, Edje_Tween_Mode); +typedef Eina_Bool (* function_type_string_double) (Evas_Object *, Change*, Eina_Bool, + const char *, double); static Eina_Bool _apply(Evas_Object *obj, Function_Info *fi) @@ -169,6 +171,9 @@ _apply(Evas_Object *obj, Function_Info *fi) case FUNCTION_TYPE_STRING_EDJETWEENMODE: return ((function_type_string_edjetweenmode)fi->function)(obj, NULL, false, fi->args.type_setm.s1, fi->args.type_setm.etm2); + case FUNCTION_TYPE_STRING_DOUBLE: + return ((function_type_string_double)fi->function)(obj, NULL, false, + fi->args.type_sd.s1, fi->args.type_sd.d2); /* Don't add 'case default:'. Compiler should warn about new values in enum */ } @@ -353,6 +358,10 @@ diff_update(Diff *diff, Diff *new_diff) eina_stringshare_del(diff->redo.args.type_setm.s1); eina_stringshare_ref(new_diff->redo.args.type_setm.s1); break; + case FUNCTION_TYPE_STRING_DOUBLE: + eina_stringshare_del(diff->redo.args.type_sd.s1); + eina_stringshare_ref(new_diff->redo.args.type_sd.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 */ @@ -471,6 +480,9 @@ diff_free(Diff *diff) case FUNCTION_TYPE_STRING_EDJETWEENMODE: eina_stringshare_del(diff->redo.args.type_setm.s1); break; + case FUNCTION_TYPE_STRING_DOUBLE: + eina_stringshare_del(diff->redo.args.type_sd.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 4b95221..9d957fb 100644 --- a/src/bin/editor/diff.h +++ b/src/bin/editor/diff.h @@ -52,6 +52,7 @@ typedef enum { FUNCTION_TYPE_STRING_EDJEACTIONTYPE, FUNCTION_TYPE_STRING_EDJECHANNEL, FUNCTION_TYPE_STRING_EDJETWEENMODE, + FUNCTION_TYPE_STRING_DOUBLE, } Function_Type; struct _Function_Info { @@ -196,6 +197,10 @@ struct _Function_Info { Eina_Stringshare *s1; Edje_Tween_Mode etm2; } type_setm; + struct { + Eina_Stringshare *s1; + double d2; + } type_sd; } args; /**< function args not including Evas_Object * */ }; --