rimmed pushed a commit to branch master.

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

commit 1a883d6db896f259f9852f12facbf0cd7ddb8f75
Author: Vyacheslav Reutskiy <v.reuts...@samsung.com>
Date:   Mon Jan 18 15:26:19 2016 +0200

    property_group: add controls for manage 'tone_name' param
    
    Change-Id: I2ddc791b5eabe0229d81d138f01681b1f99c4bc8
---
 src/bin/ui/property_group.c | 58 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 57 insertions(+), 1 deletion(-)

diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c
index 495c6fb..2de48dc 100644
--- a/src/bin/ui/property_group.c
+++ b/src/bin/ui/property_group.c
@@ -203,6 +203,8 @@ struct _Group_Prop_Data
              Evas_Object *sample_name;
              Evas_Object *sample_speed;
              Evas_Object *channel;
+             Evas_Object *tone_name;
+             Evas_Object *tone_duration;
              Evas_Object *target;
              Evas_Object *target_box;
              Evas_Object *targets_frame; /* it's a frame */
@@ -354,6 +356,9 @@ static void
 prop_program_sample_name_update(Group_Prop_Data *pd);
 
 static void
+prop_program_tone_name_update(Group_Prop_Data *pd);
+
+static void
 prop_program_targets_update(Group_Prop_Data *pd);
 
 static Eina_Bool
@@ -993,6 +998,9 @@ _on_editor_attribute_changed(void *data,
       case ATTRIBUTE_PROGRAM_CHANNEL:
          PROGRAM_ATTR_1COMBOBOX_LIST_UPDATE(program, channel, program)
          break;
+      case ATTRIBUTE_PROGRAM_TONE_NAME:
+         prop_program_tone_name_update(pd);
+         break;
       case ATTRIBUTE_PROGRAM_TRANSITION_TYPE:
       case ATTRIBUTE_PROGRAM_TRANSITION_FROM_CURRENT:
       case ATTRIBUTE_PROGRAM_TONE_DURATION:
@@ -1007,7 +1015,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_TONE_NAME:
       case ATTRIBUTE_PROGRAM_NAME:
       case ATTRIBUTE_PROGRAM_AFTER:
          TODO("implement");
@@ -1633,6 +1640,22 @@ prop_program_sample_name_update(Group_Prop_Data *pd)
 }
 
 static void
+prop_program_tone_name_update(Group_Prop_Data *pd)
+{
+   Eina_Stringshare *value;
+   Eina_List *l;
+   Resource *tone;
+
+   value = edje_edit_program_tone_name_get(pd->group->edit_object, 
pd->attributes.program.program);
+   ewe_combobox_text_set(pd->attributes.program.tone_name, value ? value : 
_("None"));
+   ewe_combobox_item_add(pd->attributes.program.tone_name, _("None"));
+   EINA_LIST_FOREACH(ap.project->tones, l, tone)
+     {
+        ewe_combobox_item_add(pd->attributes.program.tone_name, tone->name);
+     }
+}
+
+static void
 _on_program_sample(void *data,
                    Evas_Object *obj __UNUSED__,
                    void *event_info)
@@ -1680,6 +1703,36 @@ _prop_action_sample_speed_add(Group_Prop_Data *pd, 
Evas_Object *parent)
 }
 
 static void
+_on_program_tone(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 tone to '%s'");
+
+   if (!editor_program_tone_name_set(pd->group->edit_object, change, false, 
pd->attributes.program.program, item->title))
+     {
+        ERR("Cann't apply value '%s' for attribute 'program tone'.", 
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_tone_name(Group_Prop_Data *pd, Evas_Object *parent)
+{
+   PROPERTY_ITEM_ADD(parent, "name", "1swallow")
+   EWE_COMBOBOX_ADD(item, pd->attributes.program.tone_name);
+   evas_object_smart_callback_add(pd->attributes.program.tone_name, 
"selected", _on_program_tone, pd);
+   elm_object_tooltip_text_set(pd->attributes.program.tone_name, "");
+   elm_layout_content_set(item, NULL, pd->attributes.program.tone_name);
+   prop_program_tone_name_update(pd);
+   return item;
+}
+
+static void
 _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type)
 {
    Evas_Object *box, *item;
@@ -1723,6 +1776,9 @@ _program_action_param_set(Group_Prop_Data *pd, 
Edje_Action_Type type)
          elm_box_pack_end(box, item);
          break;
       case EDJE_ACTION_TYPE_SOUND_TONE:
+         item = _prop_action_tone_name(pd, box);
+         elm_box_pack_end(box, item);
+         break;
       case EDJE_ACTION_TYPE_NONE:
       default:
          elm_frame_collapse_set(pd->attributes.program.action_params, true);

-- 


Reply via email to