rimmed pushed a commit to branch master.

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

commit a1a3897e619c7b223fb918e066bdc85adf46e269
Author: Vyacheslav Reutskiy <v.reuts...@samsung.com>
Date:   Tue Jan 12 15:06:03 2016 +0200

    property_group: add base frame for program attributes
    
    Change-Id: Ia0a74eda0bff175b6a064304d6fde7cb49e1702a
---
 src/bin/ui/property_group.c | 52 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c
index 3140361..f0bf676 100644
--- a/src/bin/ui/property_group.c
+++ b/src/bin/ui/property_group.c
@@ -188,6 +188,9 @@ struct _Group_Prop_Data
              Evas_Object *position_col, *position_row, *position_item; /* Only 
for items in part TABLE */
              Evas_Object *span_col, *span_row; /* Only for items in part TABLE 
*/
         } part_item;
+        struct {
+             Evas_Object *frame;
+        } program;
    } attributes;
 };
 typedef struct _Group_Prop_Data Group_Prop_Data;
@@ -288,6 +291,12 @@ _ui_property_part_item_set(Evas_Object *property, Part 
*part);
 static void
 _ui_property_part_item_unset(Evas_Object *property);
 
+static void
+_ui_property_program_set(Evas_Object *property, const char *program);
+
+static void
+_ui_property_program_unset(Evas_Object *property);
+
 static Eina_Bool
 ui_property_state_obj_area_set(Evas_Object *property);
 
@@ -514,6 +523,19 @@ _on_part_state_selected(void *data,
 }
 
 static void
+_on_program_selected(void *data,
+                     Evas_Object *obj __UNUSED__,
+                     void *event_info)
+{
+   Evas_Object *property = data;
+   GROUP_PROP_DATA_GET()
+   Resource *res = event_info;
+
+   _on_part_selected(data, obj, NULL);
+   _ui_property_program_set(property, res->name);
+}
+
+static void
 _on_editor_attribute_changed(void *data,
                              Evas_Object *obj __UNUSED__,
                              void *event_info)
@@ -937,6 +959,7 @@ ui_property_group_add(Evas_Object *parent)
    evas_object_smart_callback_add(ap.win, SIGNAL_PART_SELECTED, 
_on_part_selected, pd->scroller);
    evas_object_smart_callback_add(ap.win, SIGNAL_PART_UNSELECTED, 
_on_part_unselected, pd->scroller);
    evas_object_smart_callback_add(ap.win, SIGNAL_PART_STATE_SELECTED, 
_on_part_state_selected, pd->scroller);
+   evas_object_smart_callback_add(ap.win, SIGNAL_PROGRAM_SELECTED, 
_on_program_selected, pd->scroller);
    evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, 
_on_editor_attribute_changed, pd->scroller);
 
    return pd->scroller;
@@ -1374,6 +1397,34 @@ PART_ATTR_PARTS_LIST(part_drag, event, part_drag)
 
 PART_ATTR_SOURCE_UPDATE(part, source)
 
+static void
+_ui_property_program_set(Evas_Object *property, const char *program __UNUSED__)
+{
+   Evas_Object *prop_box, *box;
+   GROUP_PROP_DATA_GET()
+
+   prop_box = elm_object_content_get(pd->scroller);
+   if (!pd->attributes.program.frame)
+     {
+        FRAME_PROPERTY_ADD(property, pd->attributes.program.frame, true, 
_("Program property"), pd->scroller)
+        BOX_ADD(pd->attributes.program.frame, box, EINA_FALSE, EINA_FALSE)
+        elm_box_align_set(box, 0.5, 0.0);
+        elm_object_content_set(pd->attributes.program.frame, box);
+     }
+   elm_box_pack_end(prop_box, pd->attributes.program.frame);
+}
+
+static void
+_ui_property_program_unset(Evas_Object *property)
+{
+   Evas_Object *prop_box;
+
+   GROUP_PROP_DATA_GET()
+
+   prop_box = elm_object_content_get(pd->scroller);
+   PROP_ITEM_UNSET(prop_box, pd->attributes.program.frame);
+}
+
 #define PART_ATTR_1CHECK(TEXT, SUB, VALUE, MEMBER, TOOLTIP, DESCRIPTION) \
    PART_ATTR_1CHECK_CALLBACK(SUB, VALUE, MEMBER, DESCRIPTION) \
    PART_ATTR_1CHECK_ADD(TEXT, SUB, VALUE, MEMBER, TOOLTIP)
@@ -1440,6 +1491,7 @@ ui_property_part_set(Evas_Object *property, Part *part)
    pd->part = part;
    prop_box = elm_object_content_get(pd->scroller);
 
+   _ui_property_program_unset(property);
    if (!pd_part.frame)
      {
         FRAME_PROPERTY_ADD(property, pd_part.frame, true, _("Part property"), 
pd->scroller)

-- 


Reply via email to