rimmed pushed a commit to branch master.

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

commit 9366be894cf0b15937b34afd087a78d9470f9007
Author: Mykola Solyanko <m.solya...@samsung.com>
Date:   Wed Dec 16 18:42:45 2015 +0200

    colorclass_manager: transfer functionality to the property_color module
---
 data/themes/default/widgets/layouts/property.edc |  18 ++
 src/bin/Makefile.am                              |   1 +
 src/bin/common/signals.h                         |  16 ++
 src/bin/ui/editors/colorclass_manager.c          |  98 +---------
 src/bin/ui/editors/colorclass_manager.h          |  16 ++
 src/bin/ui/property.c                            |  35 +++-
 src/bin/ui/property_color.c                      | 216 +++++++++++++++++++++++
 src/bin/ui/property_private.h                    |   2 +
 src/bin/ui/tabs.c                                |   2 +-
 9 files changed, 309 insertions(+), 95 deletions(-)

diff --git a/data/themes/default/widgets/layouts/property.edc 
b/data/themes/default/widgets/layouts/property.edc
index 3b567fc..6c4742c 100644
--- a/data/themes/default/widgets/layouts/property.edc
+++ b/data/themes/default/widgets/layouts/property.edc
@@ -47,6 +47,24 @@ group { name: "elm/layout/property/1swallow";
    }
 }
 
+group { name: "elm/layout/property/colorselector_item";
+   parts {
+      part { name: "elm.swallow.content";
+         type: SWALLOW;
+         description { state: "default" 0.0;
+            min: 0 250;
+            max: -1 -1;
+            rel1 {
+               offset: 0 3;
+            }
+            rel2 {
+               offset: -1 -4;
+            }
+         }
+      }
+   }
+}
+
 group { name: "elm/layout/property/1swallow_subtext";
    parts {
       part { name: "area.base";
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index ecd3ca2..f22c1cf 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -66,6 +66,7 @@ libete_a_SOURCES = \
 ../../src/bin/ui/property_image.c \
 ../../src/bin/ui/property_sound.c \
 ../../src/bin/ui/property_style.c \
+../../src/bin/ui/property_color.c \
 ../../src/bin/ui/blocks/ui_widget_list.c \
 ../../src/bin/ui/blocks/ui_signal_list.c \
 ../../src/bin/ui/blocks/ui_states_list.c \
diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index 8a9d0c7..8da3ff0 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -330,6 +330,14 @@ typedef struct {
  */
 #define SIGNAL_STYLE_EDITOR_TAB_CLICKED "SIGNAL_STYLE_EDITOR_TAB_CLICKED"
 
+ /**
+ * emited when colorclass editor tab is clicked.
+ * eventinfo - NULL
+ *
+ * @ingroup Window
+ */
+#define SIGNAL_COLOR_EDITOR_TAB_CLICKED "SIGNAL_COLOR_EDITOR_TAB_CLICKED"
+
 /**
  * emited when style/styles in style editor is/are selected.
  * eventinfo - NULL
@@ -338,4 +346,12 @@ typedef struct {
  */
 #define SIGNAL_STYLE_SELECTED "SIGNAL_STYLE_SELECTED"
 
+/**
+ * emited when colorstyle/colorstyles in colorclass editor is/are selected.
+ * eventinfo - NULL
+ *
+ * @ingroup Window
+ */
+#define SIGNAL_COLOR_SELECTED "SIGNAL_COLOR_SELECTED"
+
 #endif /* SIGNALS_H*/
diff --git a/src/bin/ui/editors/colorclass_manager.c 
b/src/bin/ui/editors/colorclass_manager.c
index 1e47ab2..63e2f2a 100644
--- a/src/bin/ui/editors/colorclass_manager.c
+++ b/src/bin/ui/editors/colorclass_manager.c
@@ -27,7 +27,6 @@
 static Elm_Genlist_Item_Class *_itc_ccl = NULL;
 
 typedef struct _Colorclasses_Manager Colorclasses_Manager;
-typedef struct _Colorclass_Item Colorclass_Item;
 typedef struct _Search_Data Search_Data;
 
 struct _Search_Data
@@ -36,14 +35,6 @@ struct _Search_Data
    Elm_Object_Item *last_item_found;
 };
 
-struct _Colorclass_Item
-{
-   Eina_Stringshare *name;
-   int r1, g1, b1, a1;
-   int r2, g2, b2, a2;
-   int r3, g3, b3, a3;
-};
-
 struct _Colorclasses_Manager
 {
    Project *pr;
@@ -51,7 +42,6 @@ struct _Colorclasses_Manager
    Evas_Object *layout;
    Evas_Object *genlist;
    Evas_Object *edje_preview, *preview_layout;
-   Evas_Object *colorsel1, *colorsel2, *colorsel3;
    Evas_Object *entry, *popup;
    Evas_Object *btn_add;
    Elm_Validator_Regexp *name_validator;
@@ -181,13 +171,6 @@ _on_button_delete_clicked_cb(void *data __UNUSED__,
    else
       edit->current_ccl = NULL;
 
-   if (elm_genlist_items_count(edit->genlist) == 0)
-     {
-        elm_object_disabled_set(edit->colorsel1, true);
-        elm_object_disabled_set(edit->colorsel2, true);
-        elm_object_disabled_set(edit->colorsel3, true);
-     }
-
    editor_save(ap.project->global_object);
    TODO("Remove this line once edje_edit_colorclass API would be added into 
Editor Module and saving would work properly")
    ap.project->changed = true;
@@ -241,57 +224,6 @@ _change_bg_cb(void *data,
    elm_object_part_content_set(preview_layout, "swallow.entry.bg", bg);
 }
 
-static void
-_colorclass_update(Colorclasses_Manager *edit)
-{
-   assert(edit != NULL);
-
-   Colorclass_Item *cc_it = edit->current_ccl;
-
-   edje_object_color_class_set(edit->edje_preview,
-                               "colorclass_manager/text_example_colorclass",
-                               edit->current_ccl->r1, edit->current_ccl->g1,
-                               edit->current_ccl->b1, edit->current_ccl->a1,
-                               edit->current_ccl->r2, edit->current_ccl->g2,
-                               edit->current_ccl->b2, edit->current_ccl->a2,
-                               edit->current_ccl->r3, edit->current_ccl->g3,
-                               edit->current_ccl->b3, edit->current_ccl->a3);
-   edje_edit_color_class_colors_set(ap.project->global_object, cc_it->name,
-                                    cc_it->r1, cc_it->g1,
-                                    cc_it->b1, cc_it->a1,
-                                    cc_it->r2, cc_it->g2,
-                                    cc_it->b2, cc_it->a2,
-                                    cc_it->r3, cc_it->g3,
-                                    cc_it->b3, cc_it->a3);
-
-   editor_save(ap.project->global_object);
-   TODO("Remove this line once edje_edit_colorclass API would be added into 
Editor Module and saving would work properly")
-   ap.project->changed = true;
-}
-/* Colorselector widget callbacks */
-#define COLORSELECTOR_CALLBACK(NUMBER) \
-static void \
-_on_changed_##NUMBER(void *data, \
-                     Evas_Object *obj __UNUSED__, \
-                     void *event_info __UNUSED__) \
-{ \
-   Colorclasses_Manager *edit = (Colorclasses_Manager *)data; \
-   assert(edit != NULL); \
-   if (!edit->current_ccl) return; \
-   elm_colorselector_color_get(edit->colorsel##NUMBER, \
-                               &edit->current_ccl->r##NUMBER, \
-                               &edit->current_ccl->g##NUMBER, \
-                               &edit->current_ccl->b##NUMBER, \
-                               &edit->current_ccl->a##NUMBER); \
-   _colorclass_update(edit); \
-}
-
-COLORSELECTOR_CALLBACK(1)
-COLORSELECTOR_CALLBACK(2)
-COLORSELECTOR_CALLBACK(3)
-
-#undef COLORSELECTOR_CALLBACK
-
 /* Callback on colorclass selection in list */
 static void
 _on_selected(void *data,
@@ -307,11 +239,10 @@ _on_selected(void *data,
 
    assert(ccl != NULL);
 
-   edit->current_ccl = ccl;
+   ColorClassData *current_color_data = (ColorClassData 
*)mem_malloc(sizeof(ColorClassData));
+   memset(current_color_data, 0x0, sizeof(ColorClassData));
 
-   elm_colorselector_color_set(edit->colorsel1, ccl->r1, ccl->g1, ccl->b1, 
ccl->a1);
-   elm_colorselector_color_set(edit->colorsel2, ccl->r2, ccl->g2, ccl->b2, 
ccl->a2);
-   elm_colorselector_color_set(edit->colorsel3, ccl->r3, ccl->g3, ccl->b3, 
ccl->a3);
+   edit->current_ccl = ccl;
 
    edje_object_color_class_set(edit->edje_preview,
                                "colorclass_manager/text_example_colorclass",
@@ -322,9 +253,9 @@ _on_selected(void *data,
                                ccl->r3, ccl->g3,
                                ccl->b3, ccl->a3);
 
-   elm_object_disabled_set(edit->colorsel1, false);
-   elm_object_disabled_set(edit->colorsel2, false);
-   elm_object_disabled_set(edit->colorsel3, false);
+   current_color_data->current_ccl = ccl;
+   current_color_data->edje_preview = edit->edje_preview;
+   evas_object_smart_callback_call(ap.win, SIGNAL_COLOR_SELECTED, 
current_color_data);
 }
 
 /* Search functions and creatings */
@@ -528,23 +459,6 @@ _colorclass_main_layout_create(Colorclasses_Manager *edit)
    BUTTON_ADD(edit->layout, btn_apply, _("Apply"))
    elm_object_part_content_set(edit->layout, "elm.swallow.btn_apply", 
btn_apply);
    elm_object_disabled_set(btn_apply, EINA_TRUE);
-
-   /* Creating colorselectors */
-#define ADD_COLORSEL(NUMBER, SWALLOW_NAME, COLORSEL_NAME) \
-   edit->colorsel##NUMBER = elm_colorselector_add(edit->layout); \
-   elm_colorselector_mode_set(edit->colorsel##NUMBER, ELM_COLORSELECTOR_ALL); \
-   elm_object_part_content_set(edit->layout, 
"swallow.colorselector."SWALLOW_NAME, edit->colorsel##NUMBER); \
-   elm_object_part_text_set(edit->layout, "text."SWALLOW_NAME, COLORSEL_NAME); 
\
-   evas_object_smart_callback_add(edit->colorsel##NUMBER, "changed,user", 
_on_changed_##NUMBER, edit); \
-   evas_object_smart_callback_add(edit->colorsel##NUMBER, 
"color,item,selected", _on_changed_##NUMBER, edit); \
-   elm_object_disabled_set(edit->colorsel##NUMBER, true);
-
-   ADD_COLORSEL(1, "object", _("Object color"));
-   ADD_COLORSEL(2, "outline", _("Outline color"));
-   ADD_COLORSEL(3, "shadow", _("Shadow color"));
-
-#undef ADD_COLORSEL
-
 }
 
 Eina_Bool
diff --git a/src/bin/ui/editors/colorclass_manager.h 
b/src/bin/ui/editors/colorclass_manager.h
index 54380ce..39ce82a 100644
--- a/src/bin/ui/editors/colorclass_manager.h
+++ b/src/bin/ui/editors/colorclass_manager.h
@@ -33,6 +33,22 @@
 #include "widget_macro.h"
 #include "string_common.h"
 
+typedef struct _Colorclass_Item Colorclass_Item;
+struct _Colorclass_Item
+{
+   Eina_Stringshare *name;
+   int r1, g1, b1, a1;
+   int r2, g2, b2, a2;
+   int r3, g3, b3, a3;
+};
+
+typedef struct _ColorClassData ColorClassData;
+struct _ColorClassData
+{
+   Colorclass_Item *current_ccl;
+   Evas_Object *edje_preview;
+};
+
 /**
  * Add new colorclass viewer inwin object.
  *
diff --git a/src/bin/ui/property.c b/src/bin/ui/property.c
index d811b7d..1adac4a 100644
--- a/src/bin/ui/property.c
+++ b/src/bin/ui/property.c
@@ -79,7 +79,8 @@ enum _Property_Type {
    PROPERTY,
    IMAGE_PROPERTY,
    SOUND_PROPERTY,
-   STYLE_PROPERTY
+   STYLE_PROPERTY,
+   COLOR_PROPERTY
 };
 typedef enum _Property_Type Property_Type;
 
@@ -89,6 +90,7 @@ struct _Prop_Data
    Evas_Object *image_property;
    Evas_Object *sound_property;
    Evas_Object *style_property;
+   Evas_Object *color_property;
    Evas_Object *colorclass_property;
    Evas_Object *layout;
 
@@ -113,7 +115,7 @@ _on_different_clicked(void *data,
    evas_object_hide(pd->image_property);
    evas_object_hide(pd->sound_property);
    evas_object_hide(pd->style_property);
-
+   evas_object_hide(pd->color_property);
    pd->type = PROPERTY;
 }
 
@@ -133,6 +135,7 @@ _on_image_editor_clicked(void *data,
    evas_object_hide(pd->group_property);
    evas_object_hide(pd->sound_property);
    evas_object_hide(pd->style_property);
+   evas_object_hide(pd->color_property);
    evas_object_show(pd->image_property);
 
    pd->type = IMAGE_PROPERTY;
@@ -154,6 +157,7 @@ _on_sound_editor_clicked(void *data,
    evas_object_hide(pd->group_property);
    evas_object_hide(pd->image_property);
    evas_object_hide(pd->style_property);
+   evas_object_hide(pd->color_property);
    evas_object_show(pd->sound_property);
 
    pd->type = SOUND_PROPERTY;
@@ -175,12 +179,35 @@ _on_style_editor_clicked(void *data,
    evas_object_hide(pd->group_property);
    evas_object_hide(pd->image_property);
    evas_object_hide(pd->sound_property);
+   evas_object_hide(pd->color_property);
    evas_object_show(pd->style_property);
 
    pd->type = STYLE_PROPERTY;
 }
 
 static void
+_on_color_editor_clicked(void *data,
+                         Evas_Object *obj __UNUSED__,
+                         void *event_info __UNUSED__)
+{
+   Evas_Object *property = data;
+   PROP_DATA_GET()
+
+   assert(pd != NULL);
+
+   ui_property_group_unset(pd->group_property);
+   elm_object_content_unset(pd->layout);
+   elm_object_content_set(pd->layout, pd->color_property);
+   evas_object_hide(pd->group_property);
+   evas_object_hide(pd->image_property);
+   evas_object_hide(pd->sound_property);
+   evas_object_hide(pd->style_property);
+   evas_object_show(pd->color_property);
+
+   pd->type = STYLE_PROPERTY;
+}
+
+static void
 _on_tab_changed(void *data,
                 Evas_Object *obj __UNUSED__,
                 void *event_info)
@@ -206,6 +233,7 @@ _on_tab_changed(void *data,
    if (pd->type == IMAGE_PROPERTY ||
        pd->type == STYLE_PROPERTY ||
        pd->type == SOUND_PROPERTY ||
+       pd->type == COLOR_PROPERTY ||
        pd->type == PROPERTY)
      {
         elm_object_content_unset(pd->layout);
@@ -213,6 +241,7 @@ _on_tab_changed(void *data,
         evas_object_hide(pd->image_property);
         evas_object_hide(pd->sound_property);
         evas_object_hide(pd->style_property);
+        evas_object_hide(pd->color_property);
      }
 
    //evas_object_hide(elm_object_content_unset(pd->layout));
@@ -244,11 +273,13 @@ ui_property_add(Evas_Object *parent)
    pd->image_property = ui_property_image_add(pd->layout);
    pd->sound_property = ui_property_sound_add(pd->layout);
    pd->style_property = ui_property_style_add(pd->layout);
+   pd->color_property = ui_property_color_add(pd->layout);
    /* register global callbacks */
    evas_object_smart_callback_add(ap.win, SIGNAL_TAB_CHANGED, _on_tab_changed, 
pd->layout);
    evas_object_smart_callback_add(ap.win, SIGNAL_IMAGE_EDITOR_TAB_CLICKED, 
_on_image_editor_clicked, pd->layout);
    evas_object_smart_callback_add(ap.win, SIGNAL_SOUND_EDITOR_TAB_CLICKED, 
_on_sound_editor_clicked, pd->layout);
    evas_object_smart_callback_add(ap.win, SIGNAL_STYLE_EDITOR_TAB_CLICKED, 
_on_style_editor_clicked, pd->layout);
+   evas_object_smart_callback_add(ap.win, SIGNAL_COLOR_EDITOR_TAB_CLICKED, 
_on_color_editor_clicked, pd->layout);
    evas_object_smart_callback_add(ap.win, SIGNAL_DIFFERENT_TAB_CLICKED, 
_on_different_clicked, pd->layout);
 
    return pd->layout;
diff --git a/src/bin/ui/property_color.c b/src/bin/ui/property_color.c
new file mode 100644
index 0000000..b31b409
--- /dev/null
+++ b/src/bin/ui/property_color.c
@@ -0,0 +1,216 @@
+#include "property_private.h"
+#include "property_macros.h"
+#include "signals.h"
+#include "editor.h"
+#include "colorclass_manager.h"
+
+typedef struct _Color_Prop_Data Color_Prop_Data;
+struct _Color_Prop_Data
+{
+   Evas_Object *box_object_color;
+   Evas_Object *box_outline_color;
+   Evas_Object *box_shadow_color;
+   Evas_Object *colorsel1;
+   Evas_Object *colorsel2;
+   Evas_Object *colorsel3;
+   ColorClassData color_data;
+};
+
+static Eina_Bool is_colorselector_create = EINA_FALSE;
+
+static void
+_colorclass_update(Color_Prop_Data *pd)
+{
+   assert(pd != NULL);
+
+   Colorclass_Item *cc_it = pd->color_data.current_ccl;
+
+   edje_object_color_class_set(pd->color_data.edje_preview,
+                               "colorclass_manager/text_example_colorclass",
+                               cc_it->r1, cc_it->g1,
+                               cc_it->b1, cc_it->a1,
+                               cc_it->r2, cc_it->g2,
+                               cc_it->b2, cc_it->a2,
+                               cc_it->r3, cc_it->g3,
+                               cc_it->b3, cc_it->a3);
+   edje_edit_color_class_colors_set(ap.project->global_object, cc_it->name,
+                                    cc_it->r1, cc_it->g1,
+                                    cc_it->b1, cc_it->a1,
+                                    cc_it->r2, cc_it->g2,
+                                    cc_it->b2, cc_it->a2,
+                                    cc_it->r3, cc_it->g3,
+                                    cc_it->b3, cc_it->a3);
+
+   editor_save(ap.project->global_object);
+   TODO("Remove this line once edje_edit_colorclass API would be added into 
Editor Module and saving would work properly")
+   ap.project->changed = true;
+}
+
+/* Colorselector widget callbacks */
+#define COLORSELECTOR_CALLBACK(NUMBER) \
+static void \
+_on_changed_##NUMBER(void *data, \
+                     Evas_Object *obj __UNUSED__, \
+                     void *event_info __UNUSED__) \
+{ \
+   Color_Prop_Data *pd = (Color_Prop_Data *)data; \
+   assert(pd != NULL); \
+   elm_colorselector_color_get(pd->colorsel##NUMBER, \
+                               &pd->color_data.current_ccl->r##NUMBER, \
+                               &pd->color_data.current_ccl->g##NUMBER, \
+                               &pd->color_data.current_ccl->b##NUMBER, \
+                               &pd->color_data.current_ccl->a##NUMBER); \
+   _colorclass_update(pd); \
+}
+
+COLORSELECTOR_CALLBACK(1)
+COLORSELECTOR_CALLBACK(2)
+COLORSELECTOR_CALLBACK(3)
+
+#undef COLORSELECTOR_CALLBACK
+
+static Evas_Object *
+_colorselector_item_add(Evas_Object *box, Evas_Object *colorsel)
+{
+   PROPERTY_ITEM_ADD(box, "", "colorselector_item");
+   elm_layout_content_set(item, "elm.swallow.content", colorsel);
+   return item;
+}
+
+   /* Creating colorselectors */
+#define ADD_COLORSEL(NUMBER, BOX) \
+   pd->colorsel##NUMBER = elm_colorselector_add(BOX); \
+   elm_colorselector_mode_set(pd->colorsel##NUMBER, ELM_COLORSELECTOR_ALL); \
+   evas_object_size_hint_weight_set(pd->colorsel##NUMBER, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND); \
+   evas_object_size_hint_align_set(pd->colorsel##NUMBER, EVAS_HINT_FILL, 
EVAS_HINT_FILL); \
+   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));
+
+static Evas_Object *
+_add_object_color_frame(Color_Prop_Data *pd, Evas_Object *parent)
+{
+   Evas_Object *frame_object;
+
+   FRAME_ADD(parent, frame_object, true, _("Object color"))
+
+   BOX_ADD(frame_object, pd->box_object_color, EINA_FALSE, EINA_FALSE);
+   elm_box_padding_set(pd->box_object_color, 6, 0);
+   elm_object_content_set(frame_object, pd->box_object_color);
+
+   return frame_object;
+}
+
+static Evas_Object *
+_add_outline_color_frame(Color_Prop_Data *pd, Evas_Object *parent)
+{
+   Evas_Object *frame_outline;
+
+   FRAME_ADD(parent, frame_outline, true, _("Outline color"))
+
+   BOX_ADD(frame_outline, pd->box_outline_color, EINA_FALSE, EINA_FALSE);
+   elm_box_padding_set(pd->box_outline_color, 6, 0);
+   elm_object_content_set(frame_outline, pd->box_outline_color);
+
+   return frame_outline;
+}
+
+static Evas_Object *
+_add_shadow_color_frame(Color_Prop_Data *pd, Evas_Object *parent)
+{
+   Evas_Object *frame_shadow;
+
+   FRAME_ADD(parent, frame_shadow, true, _("Shadow color"))
+
+   BOX_ADD(frame_shadow, pd->box_shadow_color, EINA_FALSE, EINA_FALSE);
+   elm_box_padding_set(pd->box_shadow_color, 6, 0);
+   elm_object_content_set(frame_shadow, pd->box_shadow_color);
+
+   return frame_shadow;
+}
+
+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);
+}
+
+static void
+_on_property_color_del(void * data,
+                       Evas *e __UNUSED__,
+                       Evas_Object *obj,
+                       void *event_info __UNUSED__)
+{
+   Color_Prop_Data *pd = (Color_Prop_Data *)data;
+
+   evas_object_event_callback_del(obj, EVAS_CALLBACK_DEL, 
_on_property_color_del);
+   free(pd);
+}
+
+Evas_Object *
+ui_property_color_add(Evas_Object *parent)
+{
+   Color_Prop_Data *pd;
+   Evas_Object *scroller, *main_box;
+
+   assert(parent != NULL);
+
+   pd = mem_calloc(1, sizeof(Color_Prop_Data));
+
+   SCROLLER_ADD(parent, scroller);
+
+   BOX_ADD(scroller, main_box, EINA_FALSE, EINA_FALSE);
+   elm_box_align_set(main_box, 0.5, 0.0);
+   elm_object_content_set(scroller, main_box);
+
+   elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_AUTO, 
ELM_SCROLLER_POLICY_AUTO);
+
+   elm_box_pack_end(main_box, _add_object_color_frame(pd, main_box));
+   elm_box_pack_end(main_box, _add_outline_color_frame(pd, main_box));
+   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;
+}
\ No newline at end of file
diff --git a/src/bin/ui/property_private.h b/src/bin/ui/property_private.h
index f43543e..a5bb4e3 100644
--- a/src/bin/ui/property_private.h
+++ b/src/bin/ui/property_private.h
@@ -64,4 +64,6 @@ ui_property_sound_add(Evas_Object *parent);
 Evas_Object *
 ui_property_style_add(Evas_Object *parent);
 
+Evas_Object *
+ui_property_color_add(Evas_Object *parent);
 #endif /* UI_PROPERTY_1_H */
diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c
index b5ea1d8..5005943 100644
--- a/src/bin/ui/tabs.c
+++ b/src/bin/ui/tabs.c
@@ -141,7 +141,7 @@ _content_set(void *data,
         else if (toolbar_item == tabs.menu.item_colorclass)
           {
              tabs_menu_tab_open(TAB_COLORCLASS_EDITOR);
-             evas_object_smart_callback_call(ap.win, 
SIGNAL_DIFFERENT_TAB_CLICKED, NULL);
+             evas_object_smart_callback_call(ap.win, 
SIGNAL_COLOR_EDITOR_TAB_CLICKED, NULL);
           }
         else
           {

-- 


Reply via email to