rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=c4b272384b1f6253398adadc9e5d587ff78cfe21
commit c4b272384b1f6253398adadc9e5d587ff78cfe21 Author: Vyacheslav Reutskiy <v.reuts...@samsung.com> Date: Thu Jan 21 10:00:04 2016 +0200 property_group: add contols for manage transition attributes Change-Id: I10aaa86947d3653c012127c0fc541bb370b3e43d --- src/bin/ui/property_group.c | 120 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 110 insertions(+), 10 deletions(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 18f66eb..6b6c24b 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -207,6 +207,12 @@ struct _Group_Prop_Data Evas_Object *tone_duration; Evas_Object *transition; Evas_Object *transition_params; + Evas_Object *transition_from_current; + Evas_Object *transition_time; + Evas_Object *transition_value1; + Evas_Object *transition_value2; + Evas_Object *transition_value3; + Evas_Object *transition_value4; Evas_Object *target; Evas_Object *target_box; Evas_Object *targets_frame; /* it's a frame */ @@ -641,6 +647,10 @@ _on_program_unselected(void *data, _on_program_selected(data, obj, NULL); } +#define PROGRAM_ATTR_1CHECK_UPDATE(SUB, VALUE, MEMBER) \ + elm_check_state_set(pd->attributes.program.transition_from_current, \ + editor_program_transition_from_current_get(pd->group->edit_object, pd->attributes.program.program)); + static void _on_editor_attribute_changed(void *data, Evas_Object *obj __UNUSED__, @@ -1052,18 +1062,30 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_TRANSITION_TYPE: prop_program_transition_update(pd); break; + case ATTRIBUTE_PROGRAM_TRANSITION_TIME: + PROGRAM_ATTR_1SPINNER_UPDATE(program, transition_time, program, double, 1) + break; + case ATTRIBUTE_PROGRAM_TRANSITION_VALUE1: + PROGRAM_ATTR_1SPINNER_UPDATE(program, transition_value1, program, double, 1) + break; + case ATTRIBUTE_PROGRAM_TRANSITION_VALUE2: + PROGRAM_ATTR_1SPINNER_UPDATE(program, transition_value2, program, double, 1) + break; + case ATTRIBUTE_PROGRAM_TRANSITION_VALUE3: + PROGRAM_ATTR_1SPINNER_UPDATE(program, transition_value3, program, double, 1) + break; + case ATTRIBUTE_PROGRAM_TRANSITION_VALUE4: + PROGRAM_ATTR_1SPINNER_UPDATE(program, transition_value4, program, double, 1) + break; case ATTRIBUTE_PROGRAM_TRANSITION_FROM_CURRENT: + PROGRAM_ATTR_1CHECK_UPDATE(program, transition_from_current, program) + break; case ATTRIBUTE_PROGRAM_IN_FROM: PROGRAM_ATTR_1SPINNER_UPDATE(program, in_range, program, double, 1) break; case ATTRIBUTE_PROGRAM_IN_RANGE: PROGRAM_ATTR_1SPINNER_UPDATE(program, in_from, program, double, 1) break; - case ATTRIBUTE_PROGRAM_TRANSITION_TIME: - case ATTRIBUTE_PROGRAM_TRANSITION_VALUE1: - case ATTRIBUTE_PROGRAM_TRANSITION_VALUE2: - case ATTRIBUTE_PROGRAM_TRANSITION_VALUE3: - case ATTRIBUTE_PROGRAM_TRANSITION_VALUE4: case ATTRIBUTE_PROGRAM_FILTER_PART: prop_program_filter_part_update(pd); break; @@ -1567,6 +1589,9 @@ PART_ATTR_SOURCE_UPDATE(part, source) PROGRAM_SPINNER_CALLBACK(SUB, VALUE, MEMBER, TYPE, MULTIPLIER, DESCRIPTION) \ PROGRAM_ATTR_1SPINNER_ADD(TEXT, SUB, VALUE, MEMBER, MIN, MAX, STEP, FMT, \ L_START, L_END, TOOLTIP, MULTIPLIER) +#define PROGRAM_ATTR_1CHECK(TEXT, SUB, VALUE, MEMBER, TOOLTIP, DESCRIPTION) \ + PROGRAM_ATTR_CHECK_CALLBACK(SUB, VALUE, MEMBER, DESCRIPTION) \ + PROGRAM_ATTR_1CHECK_ADD(TEXT, SUB, VALUE, MEMBER, TOOLTIP) static void _on_program_name_change(void *data __UNUSED__, @@ -1615,10 +1640,22 @@ PROGRAM_ATTR_1SPINNER("don't forgot to change this title", program, value, progr NULL, NULL, "", 1, _("Program action value is changed from %f to %f")) PROGRAM_ATTR_1SPINNER("don't forgot to change this title", program, value2, program, double, 0.0, 1.0, 0.1, "%.2f", NULL, NULL, "", 1, _("Program action value2 is changed from %f to %f")) -PROGRAM_ATTR_1SPINNER("sample speed", program, sample_speed, program, int, 0.0, 9999.0, 1.0, "%.0f", +PROGRAM_ATTR_1SPINNER(_("sample speed"), program, sample_speed, program, int, 0.0, 9999.0, 1.0, "%.0f", NULL, NULL, "", 1, _("Program sample speed is changed from %d to %d")) PROGRAM_ATTR_1COMBOBOX_LIST(_("sample channel"), program, channel, program, sound_channel, unsigned char, _("Program action state is changed to '%s'"), "") +PROGRAM_ATTR_1SPINNER(_("time"), program, transition_time, program, double, 0.0, 9999.0, 0.1, "%.2f", + NULL, NULL, "", 1, _("Program transition time is changed from %f to %f")) +PROGRAM_ATTR_1SPINNER("don't forgot to change this title", program, transition_value1, program, double, 0.0, 9999.0, 0.1, "%.2f", + NULL, NULL, "", 1, _("Program transition value1 is changed from %f to %f")) +PROGRAM_ATTR_1SPINNER("don't forgot to change this title", program, transition_value2, program, double, 0.0, 9999.0, 0.1, "%.2f", + NULL, NULL, "", 1, _("Program transition value1 is changed from %f to %f")) +PROGRAM_ATTR_1SPINNER("don't forgot to change this title", program, transition_value3, program, double, 0.0, 9999.0, 0.1, "%.2f", + NULL, NULL, "", 1, _("Program transition value1 is changed from %f to %f")) +PROGRAM_ATTR_1SPINNER("don't forgot to change this title", program, transition_value4, program, double, 0.0, 9999.0, 0.1, "%.2f", + NULL, NULL, "", 1, _("Program transition value1 is changed from %f to %f")) +PROGRAM_ATTR_1CHECK(_("from current"), program, transition_from_current, program, "", + _("Program transition attribure 'from current' is changed to %s'")) COMMON_ENTRY_CALLBACK(program, state, NULL, PROGRAM_ARGS, _("Program action state is changed to '%s'")) COMMON_ENTRY_CALLBACK(program, state2, NULL, PROGRAM_ARGS, _("Program action state2 is changed to '%s'")) @@ -1783,8 +1820,8 @@ _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) case EDJE_ACTION_TYPE_STATE_SET: item = _prop_action_state_add(pd, box, _("state name"), ""); elm_box_pack_end(box, item); - elm_object_text_set(item, _("state value")); item = prop_program_value_add(box, pd); + elm_object_text_set(item, _("state value")); elm_box_pack_end(box, item); break; case EDJE_ACTION_TYPE_SIGNAL_EMIT: @@ -1979,7 +2016,7 @@ _on_##MEMBER##_##VALUE##_change(void *data, \ static void _program_transition_param_set(Group_Prop_Data *pd, Edje_Tween_Mode type) { - Evas_Object *box; + Evas_Object *box, *item; elm_frame_collapse_set(pd->attributes.program.transition_params, false); elm_object_disabled_set(pd->attributes.program.transition_params, false); @@ -1988,18 +2025,80 @@ _program_transition_param_set(Group_Prop_Data *pd, Edje_Tween_Mode type) BOX_ADD(pd->attributes.program.transition_params, box, false, false) elm_box_align_set(box, 0.5, 0.0); elm_object_content_set(pd->attributes.program.transition_params, box); - switch (type) { - case EDJE_TWEEN_MODE_NONE: case EDJE_TWEEN_MODE_LINEAR: + item = prop_program_transition_from_current_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_time_add(box, pd); + elm_box_pack_end(box, item); + break; case EDJE_TWEEN_MODE_ACCELERATE_FACTOR: case EDJE_TWEEN_MODE_DECELERATE_FACTOR: case EDJE_TWEEN_MODE_SINUSOIDAL_FACTOR: + item = prop_program_transition_from_current_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_time_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_value1_add(box, pd); + elm_object_text_set(item, "factor"); + elm_box_pack_end(box, item); + break; case EDJE_TWEEN_MODE_DIVISOR_INTERP: + item = prop_program_transition_from_current_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_time_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_value1_add(box, pd); + elm_object_text_set(item, "gradient"); + elm_box_pack_end(box, item); + item = prop_program_transition_value2_add(box, pd); + elm_object_text_set(item, "factor"); + elm_box_pack_end(box, item); + break; case EDJE_TWEEN_MODE_BOUNCE: + item = prop_program_transition_from_current_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_time_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_value1_add(box, pd); + elm_object_text_set(item, "decay"); + elm_box_pack_end(box, item); + item = prop_program_transition_value2_add(box, pd); + elm_object_text_set(item, "bounces"); + elm_box_pack_end(box, item); + break; case EDJE_TWEEN_MODE_SPRING: + item = prop_program_transition_from_current_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_time_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_value1_add(box, pd); + elm_object_text_set(item, "decay"); + elm_box_pack_end(box, item); + item = prop_program_transition_value2_add(box, pd); + elm_object_text_set(item, "swings"); + elm_box_pack_end(box, item); + break; case EDJE_TWEEN_MODE_CUBIC_BEZIER: + item = prop_program_transition_from_current_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_time_add(box, pd); + elm_box_pack_end(box, item); + item = prop_program_transition_value1_add(box, pd); + elm_object_text_set(item, "x1"); + elm_box_pack_end(box, item); + item = prop_program_transition_value2_add(box, pd); + elm_object_text_set(item, "y1"); + elm_box_pack_end(box, item); + item = prop_program_transition_value3_add(box, pd); + elm_object_text_set(item, "x2"); + elm_box_pack_end(box, item); + item = prop_program_transition_value4_add(box, pd); + elm_object_text_set(item, "y2"); + elm_box_pack_end(box, item); + break; + case EDJE_TWEEN_MODE_NONE: default: break; } @@ -2291,6 +2390,7 @@ _ui_property_program_set(Evas_Object *property, const char *program) prop_program_signal_update(pd); prop_program_source_update(pd); prop_program_action_update(pd); + prop_program_transition_update(pd); prop_program_filter_part_update(pd); prop_program_filter_state_update(pd); prop_program_targets_update(pd); --