rimmed pushed a commit to branch master.

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

commit 9cdf346826d465f4c370069bd0b54fcfcecae0cf
Author: Vitalii Vorobiov <vi.vorob...@samsung.com>
Date:   Tue Dec 22 17:01:59 2015 +0200

    property_demo_swallow: color set for rectangle, image or widget
    
    Just a part of settings, not working yet
---
 src/bin/ui/property_demo_swallow.c | 66 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/src/bin/ui/property_demo_swallow.c 
b/src/bin/ui/property_demo_swallow.c
index 0ec3132..16f2797 100644
--- a/src/bin/ui/property_demo_swallow.c
+++ b/src/bin/ui/property_demo_swallow.c
@@ -43,6 +43,7 @@ struct _Demo_Swallow_Prop_Data
    Evas_Object *swallow_content;
 
    Evas_Object *color;
+   Evas_Object *color_obj;
    Evas_Object *picture;
    Evas_Object *widget;
 
@@ -99,6 +100,69 @@ prop_swallow_content_add(Evas_Object *parent, 
Demo_Swallow_Prop_Data *pd)
    ewe_combobox_select_item_set(pd->swallow_content, 0);
    return item;
 }
+static void
+_on_rectangle_color_change(void *data,
+                           Evas_Object *obj,
+                           void *event_info __UNUSED__)
+{
+   int r, g, b, a;
+   Demo_Swallow_Prop_Data *pd = (Demo_Swallow_Prop_Data *)data;
+   colorselector_color_get(obj, &r, &g, &b, &a);
+   evas_object_color_set(pd->color_obj, r*a/255, g*a/255, b*a/255, a);
+}
+static void
+_on_rectangle_color_dismissed(void *data,
+                              Evas_Object *obj,
+                              void *event_info __UNUSED__)
+{
+   Demo_Swallow_Prop_Data *pd = (Demo_Swallow_Prop_Data *)data;
+   evas_object_smart_callback_del_full(obj, "color,changed",
+                                       _on_rectangle_color_change, pd);
+   evas_object_smart_callback_del_full(obj, "palette,item,selected",
+                                       _on_rectangle_color_change, pd);
+   evas_object_smart_callback_del_full(obj, "dismissed",
+                                       _on_rectangle_color_dismissed, pd);
+   evas_object_hide(obj);
+}
+static void
+_on_color_clicked(void *data,
+                  Evas_Object *obj,
+                  const char *emission __UNUSED__,
+                  const char *source __UNUSED__)
+{
+   int x, y;
+   int r, g, b, a;
+   Evas_Object *colorsel;
+   Demo_Swallow_Prop_Data *pd = (Demo_Swallow_Prop_Data *)data;
+   colorsel = colorselector_get();
+   evas_object_color_get(pd->color_obj, &r, &g, &b, &a);
+   colorselector_color_set(colorsel, r, g, b, a);
+   evas_object_smart_callback_add(colorsel, "color,changed",
+                                  _on_rectangle_color_change, pd);
+   evas_object_smart_callback_add(colorsel, "dismissed",
+                                  _on_rectangle_color_dismissed, pd);
+   evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y);
+   evas_object_move(colorsel, x, y);
+   evas_object_show(colorsel);
+}
+
+static Evas_Object *
+prop_rectangle_color_add(Evas_Object *parent,
+                         Demo_Swallow_Prop_Data *pd)
+{
+   PROPERTY_ITEM_ADD(parent, _("Rectangle Color"), "1swallow_subtext")
+   pd->color = elm_layout_add(item);
+   elm_layout_theme_set(pd->color, "layout", "property", "color");
+   evas_object_size_hint_weight_set(pd->color,  EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(pd->color, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   pd->color_obj = elm_layout_add(parent);
+   elm_layout_theme_set(pd->color_obj, "image", "color", "color_set");
+   elm_layout_signal_callback_add(pd->color, "clicked", "eflete",
+                                  _on_color_clicked, pd);
+   elm_layout_content_set(pd->color, NULL, pd->color_obj);
+   elm_layout_content_set(item, NULL, pd->color);
+   return item;
+}
 
 void
 ui_property_demo_swallow_part_set(Evas_Object *property, Part_ *part)
@@ -139,6 +203,8 @@ ui_property_demo_swallow_add(Evas_Object *parent)
    elm_box_pack_end(pd->box, item);
    item = prop_swallow_content_add(pd->box, pd);
    elm_box_pack_end(pd->box, item);
+   item = prop_rectangle_color_add(pd->box, pd);
+   elm_box_pack_end(pd->box, item);
 
    return pd->box;
 }

-- 


Reply via email to