rimmed pushed a commit to branch master.

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

commit e7508159524706d7834bd5b8d3491ab7fcbed680
Author: Vitalii Vorobiov <vi.vorob...@samsung.com>
Date:   Wed Jan 27 16:26:14 2016 +0000

    property_color: unset property when CC got unselected
---
 src/bin/ui/colorclass_manager.c |  1 +
 src/bin/ui/property_color.c     | 80 ++++++++++++++++++++++-------------------
 2 files changed, 44 insertions(+), 37 deletions(-)

diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c
index 96c6dd1..d7d7554 100644
--- a/src/bin/ui/colorclass_manager.c
+++ b/src/bin/ui/colorclass_manager.c
@@ -240,6 +240,7 @@ _on_unselected(void *data,
    assert(edit != NULL);
 
    elm_object_disabled_set(edit->del_button, EINA_TRUE);
+   evas_object_smart_callback_call(ap.win, SIGNAL_COLOR_SELECTED, NULL);
 }
 
 static void
diff --git a/src/bin/ui/property_color.c b/src/bin/ui/property_color.c
index df442c5..c81fc3e 100644
--- a/src/bin/ui/property_color.c
+++ b/src/bin/ui/property_color.c
@@ -32,6 +32,9 @@ struct _Color_Prop_Data
    Evas_Object *colorsel1;
    Evas_Object *colorsel2;
    Evas_Object *colorsel3;
+   Evas_Object *colorsel1_layout;
+   Evas_Object *colorsel2_layout;
+   Evas_Object *colorsel3_layout;
    ColorClassData color_data;
 };
 
@@ -105,7 +108,8 @@ _colorselector_item_add(Evas_Object *box, Evas_Object 
*colorsel)
    evas_object_smart_callback_add(pd->colorsel##NUMBER, "changed,user", 
_on_changed_##NUMBER, pd); \
    evas_object_smart_callback_add(pd->colorsel##NUMBER, "color,item,selected", 
_on_changed_##NUMBER, pd); \
    evas_object_show(pd->colorsel##NUMBER); \
-   elm_box_pack_end(BOX, _colorselector_item_add(BOX, pd->colorsel##NUMBER));
+   pd->colorsel##NUMBER##_layout = _colorselector_item_add(BOX, 
pd->colorsel##NUMBER); \
+   elm_box_pack_end(BOX, pd->colorsel##NUMBER##_layout);
 
 static Evas_Object *
 _add_object_color_frame(Color_Prop_Data *pd, Evas_Object *parent)
@@ -150,47 +154,50 @@ _add_shadow_color_frame(Color_Prop_Data *pd, Evas_Object 
*parent)
 }
 
 static void
-_add_colorsel(Color_Prop_Data *pd)
-{
-   if (!is_colorselector_create)
-    {
-       ADD_COLORSEL(1, pd->box_object_color);
-       ADD_COLORSEL(2, pd->box_outline_color);
-       ADD_COLORSEL(3, pd->box_shadow_color);
-       is_colorselector_create = EINA_TRUE;
-    }
-}
-
-static void
 _on_color_selected(void *data,
                    Evas_Object *obj __UNUSED__,
                    void *event_info)
 {
    ColorClassData *current_color = (ColorClassData *)event_info;
    Color_Prop_Data *pd = (Color_Prop_Data *)data;
-   Colorclass_Item *ccl = current_color->current_ccl;
-
-   _add_colorsel(pd);
-
-   pd->color_data = *current_color;
-
-   elm_colorselector_color_set(pd->colorsel1, ccl->r1, ccl->g1, ccl->b1, 
ccl->a1);
-   elm_colorselector_color_set(pd->colorsel2, ccl->r2, ccl->g2, ccl->b2, 
ccl->a2);
-   elm_colorselector_color_set(pd->colorsel3, ccl->r3, ccl->g3, ccl->b3, 
ccl->a3);
-
-   free(current_color);
-}
-
-static void
-_color_tab_change(void *data,
-                   Evas_Object *obj __UNUSED__,
-                   void *event_info __UNUSED__)
-{
-   Color_Prop_Data *pd = (Color_Prop_Data *)data;
-   is_colorselector_create = EINA_FALSE;
-   elm_box_clear(pd->box_object_color);
-   elm_box_clear(pd->box_outline_color);
-   elm_box_clear(pd->box_shadow_color);
+   if (current_color)
+     {
+        Colorclass_Item *ccl = current_color->current_ccl;
+
+        if (!is_colorselector_create)
+          {
+             ADD_COLORSEL(1, pd->box_object_color);
+             ADD_COLORSEL(2, pd->box_outline_color);
+             ADD_COLORSEL(3, pd->box_shadow_color);
+             is_colorselector_create = EINA_TRUE;
+          }
+        else
+          {
+             elm_box_pack_end(pd->box_object_color, pd->colorsel1_layout);
+             evas_object_show(pd->colorsel1_layout);
+             elm_box_pack_end(pd->box_outline_color, pd->colorsel2_layout);
+             evas_object_show(pd->colorsel2_layout);
+             elm_box_pack_end(pd->box_shadow_color, pd->colorsel3_layout);
+             evas_object_show(pd->colorsel3_layout);
+          }
+
+        pd->color_data = *current_color;
+
+        elm_colorselector_color_set(pd->colorsel1, ccl->r1, ccl->g1, ccl->b1, 
ccl->a1);
+        elm_colorselector_color_set(pd->colorsel2, ccl->r2, ccl->g2, ccl->b2, 
ccl->a2);
+        elm_colorselector_color_set(pd->colorsel3, ccl->r3, ccl->g3, ccl->b3, 
ccl->a3);
+
+        free(current_color);
+     }
+   else
+     {
+        elm_box_unpack(pd->box_object_color, pd->colorsel1_layout);
+        evas_object_hide(pd->colorsel1_layout);
+        elm_box_unpack(pd->box_outline_color, pd->colorsel2_layout);
+        evas_object_hide(pd->colorsel2_layout);
+        elm_box_unpack(pd->box_shadow_color, pd->colorsel3_layout);
+        evas_object_hide(pd->colorsel3_layout);
+     }
 }
 
 static void
@@ -228,7 +235,6 @@ ui_property_color_add(Evas_Object *parent)
    elm_box_pack_end(main_box, _add_shadow_color_frame(pd, main_box));
 
    evas_object_smart_callback_add(ap.win, SIGNAL_COLOR_SELECTED, 
_on_color_selected, pd);
-   evas_object_smart_callback_add(ap.win, SIGNAL_COLOR_EDITOR_TAB_CLICKED, 
_color_tab_change, pd);
    evas_object_event_callback_add(main_box, EVAS_CALLBACK_DEL, 
_on_property_color_del, pd);
 
    return scroller;

-- 


Reply via email to