rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=b72ad5c765722a09ac3c59240be863b6bafc1ee2

commit b72ad5c765722a09ac3c59240be863b6bafc1ee2
Author: Vyacheslav Reutskiy <v.reuts...@samsung.com>
Date:   Mon Jan 18 11:44:27 2016 +0200

    property_group: add controls for manage 'sample_name' param
    
    Change-Id: Ic12012dc713c5a32ab71e2bc5cb62590b6e61939
---
 src/bin/ui/property_group.c | 61 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 60 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c
index 118a7de..b12c0aa 100644
--- a/src/bin/ui/property_group.c
+++ b/src/bin/ui/property_group.c
@@ -200,6 +200,9 @@ struct _Group_Prop_Data
              Evas_Object *state2;
              Evas_Object *value;
              Evas_Object *value2;
+             Evas_Object *sample_name;
+             Evas_Object *sample_speed;
+             Evas_Object *channel;
              Evas_Object *target;
              Evas_Object *target_box;
              Evas_Object *targets_frame; /* it's a frame */
@@ -337,6 +340,9 @@ static void
 prop_program_state2_update(Group_Prop_Data *pd);
 
 static void
+prop_program_sample_name_update(Group_Prop_Data *pd);
+
+static void
 prop_program_targets_update(Group_Prop_Data *pd);
 
 static Eina_Bool
@@ -967,6 +973,9 @@ _on_editor_attribute_changed(void *data,
       case ATTRIBUTE_PROGRAM_TARGET:
          prop_program_targets_update(pd);
          break;
+      case ATTRIBUTE_PROGRAM_SAMPLE_NAME:
+         prop_program_sample_name_update(pd);
+         break;
       case ATTRIBUTE_PROGRAM_TRANSITION_TYPE:
       case ATTRIBUTE_PROGRAM_TRANSITION_FROM_CURRENT:
       case ATTRIBUTE_PROGRAM_CHANNEL:
@@ -983,7 +992,6 @@ _on_editor_attribute_changed(void *data,
       case ATTRIBUTE_PROGRAM_FILTER_STATE:
       case ATTRIBUTE_PROGRAM_API_NAME:
       case ATTRIBUTE_PROGRAM_API_DESCRIPTION:
-      case ATTRIBUTE_PROGRAM_SAMPLE_NAME:
       case ATTRIBUTE_PROGRAM_TONE_NAME:
       case ATTRIBUTE_PROGRAM_NAME:
       case ATTRIBUTE_PROGRAM_AFTER:
@@ -1588,6 +1596,52 @@ _prop_action_value2_add(Group_Prop_Data *pd, Evas_Object 
*parent, const char *ti
 }
 
 static void
+prop_program_sample_name_update(Group_Prop_Data *pd)
+{
+   Eina_Stringshare *value;
+   Eina_List *l;
+   Resource *sample;
+
+   value = edje_edit_program_sample_name_get(pd->group->edit_object, 
pd->attributes.program.program);
+   ewe_combobox_text_set(pd->attributes.program.sample_name, value ? value : 
_("None"));
+   ewe_combobox_item_add(pd->attributes.program.sample_name, _("None"));
+   EINA_LIST_FOREACH(ap.project->sounds, l, sample)
+     {
+        ewe_combobox_item_add(pd->attributes.program.sample_name, 
sample->name);
+     }
+}
+
+static void
+_on_program_sample(void *data,
+                   Evas_Object *obj __UNUSED__,
+                   void *event_info)
+{
+   Group_Prop_Data *pd = (Group_Prop_Data *)data;
+   Ewe_Combobox_Item *item = (Ewe_Combobox_Item *)event_info;
+   Change *change = change_add("Change the action sount to '%s'");
+
+   if (!editor_program_sample_name_set(pd->group->edit_object, change, false, 
pd->attributes.program.program, item->title))
+     {
+        ERR("Cann't apply value '%s' for attribute 'program sample'.", 
item->title);
+        abort();
+     }
+   history_change_add(pd->group->history, change);
+   evas_object_smart_callback_call(ap.win, SIGNAL_PROPERTY_ATTRIBUTE_CHANGED, 
NULL);
+}
+
+static Evas_Object *
+_prop_action_sample_name(Group_Prop_Data *pd, Evas_Object *parent)
+{
+   PROPERTY_ITEM_ADD(parent, "name", "1swallow")
+   EWE_COMBOBOX_ADD(item, pd->attributes.program.sample_name);
+   evas_object_smart_callback_add(pd->attributes.program.sample_name, 
"selected", _on_program_sample, pd);
+   elm_object_tooltip_text_set(pd->attributes.program.sample_name, "");
+   elm_layout_content_set(item, NULL, pd->attributes.program.sample_name);
+   prop_program_sample_name_update(pd);
+   return item;
+}
+
+static void
 _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type)
 {
    Evas_Object *box, *item;
@@ -1622,6 +1676,11 @@ _program_action_param_set(Group_Prop_Data *pd, 
Edje_Action_Type type)
          item = _prop_action_value2_add(pd, box, _("axis Y"), "");
          elm_box_pack_end(box, item);
          break;
+      case EDJE_ACTION_TYPE_SOUND_SAMPLE:
+         item = _prop_action_sample_name(pd, box);
+         elm_box_pack_end(box, item);
+         break;
+      case EDJE_ACTION_TYPE_SOUND_TONE:
       case EDJE_ACTION_TYPE_NONE:
       default:
          elm_frame_collapse_set(pd->attributes.program.action_params, true);

-- 


Reply via email to