rimmed pushed a commit to branch master.

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

commit 83614a462adaf6cde2ed51a09d4488b79a1f019d
Author: Andrii Kroitor <an.kroi...@samsung.com>
Date:   Mon Sep 19 16:15:54 2016 +0300

    signals: move used elm_widget signals to signals struct
---
 src/bin/common/signals.c                           | 158 +++++++++++++++------
 src/bin/common/signals.h                           |  74 ++++++++++
 src/bin/ui/colorclass_manager.c                    |  18 +--
 src/bin/ui/history_ui.c                            |  16 +--
 src/bin/ui/image_manager.c                         |  10 +-
 src/bin/ui/live_view/elementary/live_ctxpopup.c    |   2 +-
 src/bin/ui/live_view/elementary/live_genlist.c     |  12 +-
 src/bin/ui/live_view/elementary/live_naviframe.c   |   8 +-
 src/bin/ui/live_view/elementary/live_notify.c      |   2 +-
 .../ui/live_view/elementary/live_widget_common.c   |   8 +-
 src/bin/ui/main_window.c                           |   2 +-
 src/bin/ui/modal_window/modal_window.c             |  12 +-
 src/bin/ui/popup.c                                 |  24 ++--
 src/bin/ui/project_navigator.c                     |  26 ++--
 src/bin/ui/property/property.c                     |  12 +-
 src/bin/ui/property/property_common.c              |  26 ++--
 src/bin/ui/property/property_common_image.c        |   4 +-
 src/bin/ui/property/property_common_tween.c        |   4 +-
 src/bin/ui/property/property_image_selector.c      |   4 +-
 src/bin/ui/shortcuts/shortcuts.c                   |   2 +-
 src/bin/ui/sound_manager.c                         |  14 +-
 src/bin/ui/sound_player/sound_player.c             |   4 +-
 src/bin/ui/splash.c                                |   2 +-
 src/bin/ui/style_manager.c                         |  26 ++--
 src/bin/ui/tab_home_common.c                       |   2 +-
 src/bin/ui/tab_home_import_edc.c                   |  10 +-
 src/bin/ui/tab_home_import_edj.c                   |  20 +--
 src/bin/ui/tab_home_info.c                         |  10 +-
 src/bin/ui/tab_home_new.c                          |  10 +-
 src/bin/ui/tab_home_open.c                         |  12 +-
 src/bin/ui/tabs.c                                  |   2 +-
 src/bin/ui/workspace/demo_group.c                  |  12 +-
 src/bin/ui/workspace/group_navigator.c             |  58 ++++----
 src/bin/ui/workspace/workspace.c                   |  32 ++---
 34 files changed, 391 insertions(+), 247 deletions(-)

diff --git a/src/bin/common/signals.c b/src/bin/common/signals.c
index 8540542..d1f9242 100644
--- a/src/bin/common/signals.c
+++ b/src/bin/common/signals.c
@@ -22,75 +22,149 @@
 
 const Signals signals = {
      .shortcut = {
-          .del                      = "signal.shortcut.del",
-          .help                     = "signal.shortcut.help",
-          .quit                     = "signal.shortcut.quit",
-          .save                     = "signal.shortcut.save",
+          .del                         = "signal.shortcut.del",
+          .help                        = "signal.shortcut.help",
+          .quit                        = "signal.shortcut.quit",
+          .save                        = "signal.shortcut.save",
           .add = {
-               .data_item           = "signal.shortcut.add.data_item",
-               .group               = "signal.shortcut.add.group",
-               .item                = "signal.shortcut.add.item",
-               .part                = "signal.shortcut.add.part",
-               .program             = "signal.shortcut.add.program",
-               .state               = "signal.shortcut.add.state",
+               .data_item              = "signal.shortcut.add.data_item",
+               .group                  = "signal.shortcut.add.group",
+               .item                   = "signal.shortcut.add.item",
+               .part                   = "signal.shortcut.add.part",
+               .program                = "signal.shortcut.add.program",
+               .state                  = "signal.shortcut.add.state",
           },
           .history = {
-               .redo                = "signal.shortcut.history.redo",
-               .undo                = "signal.shortcut.history.undo",
+               .redo                   = "signal.shortcut.history.redo",
+               .undo                   = "signal.shortcut.history.undo",
           },
           .manager = {
-               .color_class         = "signal.shortcut.manager.color_class",
-               .image               = "signal.shortcut.manager.image",
-               .sound               = "signal.shortcut.manager.sound",
-               .style               = "signal.shortcut.manager.style",
+               .color_class            = "signal.shortcut.manager.color_class",
+               .image                  = "signal.shortcut.manager.image",
+               .sound                  = "signal.shortcut.manager.sound",
+               .style                  = "signal.shortcut.manager.style",
           },
           .popup = {
-               .cancel              = "signal.shortcut.popup.cancel",
-               .done                = "signal.shortcut.popup.done",
+               .cancel                 = "signal.shortcut.popup.cancel",
+               .done                   = "signal.shortcut.popup.done",
           },
           .tab = {
-               .close               = "signal.shortcut.tab.close",
-               .next                = "signal.shortcut.tab.next",
-               .prev                = "signal.shortcut.tab.prev",
-               .num                 = "signal.shortcut.tab.num",
+               .close                  = "signal.shortcut.tab.close",
+               .next                   = "signal.shortcut.tab.next",
+               .prev                   = "signal.shortcut.tab.prev",
+               .num                    = "signal.shortcut.tab.num",
           },
           .workspace = {
-               .fill                = "signal.shortcut.workspace.fill",
+               .fill                   = "signal.shortcut.workspace.fill",
                .mode = {
-                    .code           = "signal.shortcut.workspace.mode.code",
-                    .demo           = "signal.shortcut.workspace.mode.demo",
-                    .normal         = "signal.shortcut.workspace.mode.normal",
+                    .code              = "signal.shortcut.workspace.mode.code",
+                    .demo              = "signal.shortcut.workspace.mode.demo",
+                    .normal            = 
"signal.shortcut.workspace.mode.normal",
                },
                .show_hide = {
-                    .object_area    = 
"signal.shortcut.workspace.show_hide.object_area",
-                    .part           = 
"signal.shortcut.workspace.show_hide.part",
-                    .all_parts      = 
"signal.shortcut.workspace.show_hide.all_parts",
-                    .rulers         = 
"signal.shortcut.workspace.show_hide.rulers",
+                    .object_area       = 
"signal.shortcut.workspace.show_hide.object_area",
+                    .part              = 
"signal.shortcut.workspace.show_hide.part",
+                    .all_parts         = 
"signal.shortcut.workspace.show_hide.all_parts",
+                    .rulers            = 
"signal.shortcut.workspace.show_hide.rulers",
                },
                .select = {
-                    .part_next      = 
"signal.shortcut.workspace.select.part_next",
-                    .part_prev      = 
"signal.shortcut.workspace.select.part_prev",
-                    .state_next     = 
"signal.shortcut.workspace.select.state_next",
+                    .part_next         = 
"signal.shortcut.workspace.select.part_next",
+                    .part_prev         = 
"signal.shortcut.workspace.select.part_prev",
+                    .state_next        = 
"signal.shortcut.workspace.select.state_next",
                },
                .zoom = {
-                    .in             = "signal.shortcut.workspace.zoom.in",
-                    .out            = "signal.shortcut.workspace.zoom.out",
-                    .reset          = "signal.shortcut.workspace.zoom.reset",
-                    .fit            = "signal.shortcut.workspace.zoom.fit",
+                    .in                = "signal.shortcut.workspace.zoom.in",
+                    .out               = "signal.shortcut.workspace.zoom.out",
+                    .reset             = 
"signal.shortcut.workspace.zoom.reset",
+                    .fit               = "signal.shortcut.workspace.zoom.fit",
                },
           },
      },
 
      .elm = {
           .spinner = {
-               .changed             = "changed",
+               .changed                = "changed",
 #if HAVE_TIZEN
-               .changed_user        = "[eflete_custom]changed,user",
+               .changed_user           = "[eflete_custom]changed,user",
 #else
-               .changed_user        = "changed",
+               .changed_user           = "changed",
 #endif
-               .drag_start          = "spinner,drag,start",
-               .drag_stop           = "spinner,drag,stop",
+               .drag_start             = "spinner,drag,start",
+               .drag_stop              = "spinner,drag,stop",
+          },
+          .button = {
+               .clicked                = "clicked",
+          },
+          .entry = {
+               .changed                = "changed",
+               .changed_user           = "changed,user",
+               .activated              = "activated",
+               .clicked                = "clicked",
+               .unfocused              = "unfocused",
+          },
+          .hoversel = {
+               .clicked                = "clicked",
+               .selected               = "selected",
+               .dismissed              = "dismissed",
+          },
+          .radio = {
+               .changed                = "changed",
+          },
+          .check = {
+               .changed                = "changed",
+          },
+          .genlist = {
+               .expand_request         = "expand,request",
+               .expanded               = "expanded",
+               .contract_request       = "contract,request",
+               .contracted             = "contracted",
+               .selected               = "selected",
+               .unselected             = "unselected",
+               .pressed                = "pressed",
+               .activated              = "activated",
+               .realized               = "realized",
+               .unrealized             = "unrealized",
+               .clicked_double         = "clicked,double",
+          },
+          .gengrid = {
+               .unselected             = "unselected",
+               .clicked_double         = "clicked,double",
+          },
+          .slider = {
+               .changed                = "changed",
+               .drag_start             = "slider,drag,start",
+               .drag_stop              = "slider,drag,stop",
+          },
+          .win = {
+               .delete_request         = "delete,request",
+               .unfocused              = "unfocused",
+          },
+          .combobox = {
+               .expanded               = "expanded",
+               .item_pressed           = "item,pressed",
+               .item_selected          = "item,selected",
+               .dismissed              = "dismissed",
+          },
+          .menu = {
+               .clicked                = "clicked",
+          },
+          .panes = {
+               .press                  = "press",
+               .unpress                = "unpress",
+          },
+          .fileselector = {
+               .done                   = "done",
+               .selected               = "selected",
+               .activated              = "activated",
+          },
+          .colorselector = {
+               .color_item_selected    = "color,item,selected",
+               .changed                = "changed",
+               .changed_user           = "changed,user",
+               .color_item_longpressed = "color,item,longpressed",
+          },
+          .ctxpopup = {
+               .dismissed              = "dismissed",
           },
      },
 };
diff --git a/src/bin/common/signals.h b/src/bin/common/signals.h
index 0e7a72f..4fa4d26 100644
--- a/src/bin/common/signals.h
+++ b/src/bin/common/signals.h
@@ -87,6 +87,80 @@ typedef struct {
          const char *drag_start;
          const char *drag_stop;
       } spinner;
+      const struct {
+         const char *clicked;
+      } button;
+      const struct {
+         const char *changed;
+         const char *changed_user;
+         const char *activated;
+         const char *clicked;
+         const char *unfocused;
+      } entry;
+      const struct {
+         const char *clicked;
+         const char *selected;
+         const char *dismissed;
+      } hoversel;
+      const struct {
+         const char *changed;
+      } radio;
+      const struct {
+         const char *changed;
+      } check;
+      const struct {
+         const char *expand_request;
+         const char *expanded;
+         const char *contract_request;
+         const char *contracted;
+         const char *selected;
+         const char *unselected;
+         const char *pressed;
+         const char *activated;
+         const char *realized;
+         const char *unrealized;
+         const char *clicked_double;
+      } genlist;
+      const struct {
+         const char *unselected;
+         const char *clicked_double;
+      } gengrid;
+      const struct {
+         const char *changed;
+         const char *drag_start;
+         const char *drag_stop;
+      } slider;
+      const struct {
+         const char *delete_request;
+         const char *unfocused;
+      } win;
+      const struct {
+         const char *expanded;
+         const char *dismissed;
+         const char *item_pressed;
+         const char *item_selected;
+      } combobox;
+      const struct {
+         const char *clicked;
+      } menu;
+      const struct {
+         const char *press;
+         const char *unpress;
+      } panes;
+      const struct {
+         const char *done;
+         const char *selected;
+         const char *activated;
+      } fileselector;
+      const struct {
+         const char *color_item_selected;
+         const char *color_item_longpressed;
+         const char *changed;
+         const char *changed_user;
+      } colorselector;
+      const struct {
+         const char *dismissed;
+      } ctxpopup;
    } elm;
 } Signals;
 
diff --git a/src/bin/ui/colorclass_manager.c b/src/bin/ui/colorclass_manager.c
index 7bfab7f..312300a 100644
--- a/src/bin/ui/colorclass_manager.c
+++ b/src/bin/ui/colorclass_manager.c
@@ -87,7 +87,7 @@ _add_colorclass_content_get(void *data __UNUSED__, 
Evas_Object *popup, Evas_Obje
    LAYOUT_PROP_ADD(ap.win, _("Color class name: "), "property", "1swallow")
    ENTRY_ADD(item, mng.entry, true);
    efl_event_callback_add(mng.entry, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, mng.name_validator);
-   evas_object_smart_callback_add(mng.entry, "changed", _validation, popup);
+   evas_object_smart_callback_add(mng.entry, signals.elm.entry.changed, 
_validation, popup);
    elm_object_part_text_set(mng.entry, "guide", _("Type new color class name 
here"));
    elm_object_part_content_set(item, "elm.swallow.content", mng.entry);
    mng.item = item;
@@ -357,7 +357,7 @@ _radio_switcher_add(Evas_Object *obj,
    evas_object_show(radio);
    elm_object_style_set(radio, style);
    elm_radio_state_value_set(radio, state_value);
-   evas_object_smart_callback_add(radio, "changed", func, obj);
+   evas_object_smart_callback_add(radio, signals.elm.radio.changed, func, obj);
    elm_radio_group_add(radio, group);
 
    return radio;
@@ -470,26 +470,26 @@ colorclass_manager_add(void)
 #endif
    evas_object_show(mng.genlist);
    elm_object_part_content_set(mng.layout, "elm.swallow.list", mng.genlist);
-   evas_object_smart_callback_add(mng.genlist, "selected", _on_selected, NULL);
-   evas_object_smart_callback_add(mng.genlist, "unselected", _on_unselected, 
NULL);
+   evas_object_smart_callback_add(mng.genlist, signals.elm.genlist.selected, 
_on_selected, NULL);
+   evas_object_smart_callback_add(mng.genlist, signals.elm.genlist.unselected, 
_on_unselected, NULL);
+   evas_object_smart_callback_add(mng.genlist, signals.elm.genlist.pressed, 
_search_reset_cb, &(mng.style_search_data));
 
    search = _manager_search_field_create(mng.layout);
    elm_object_part_content_set(mng.layout, "elm.swallow.search", search);
-   evas_object_smart_callback_add(search, "changed", _search_changed, NULL);
-   evas_object_smart_callback_add(search, "activated", _search_nxt_gd_item, 
NULL);
-   evas_object_smart_callback_add(mng.genlist, "pressed", _search_reset_cb, 
&(mng.style_search_data));
+   evas_object_smart_callback_add(search, signals.elm.entry.changed, 
_search_changed, NULL);
+   evas_object_smart_callback_add(search, signals.elm.entry.activated, 
_search_nxt_gd_item, NULL);
    mng.style_search_data.search_entry = search;
    mng.style_search_data.last_item_found = NULL;
 
    /* Controls (add, remove) of colorclasses */
    button = elm_button_add(mng.layout);
    elm_object_style_set(button, "plus_managers");
-   evas_object_smart_callback_add(button, "clicked", _colorclass_add_cb, &mng);
+   evas_object_smart_callback_add(button, signals.elm.button.clicked, 
_colorclass_add_cb, &mng);
    elm_object_part_content_set(mng.layout, "elm.swallow.btn_add", button);
 
    mng.del_button = elm_button_add(mng.layout);
    elm_object_style_set(mng.del_button, "minus_managers");
-   evas_object_smart_callback_add(mng.del_button, "clicked", 
_colorclass_del_cb, NULL);
+   evas_object_smart_callback_add(mng.del_button, signals.elm.button.clicked, 
_colorclass_del_cb, NULL);
    elm_object_part_content_set(mng.layout, "elm.swallow.btn_del", 
mng.del_button);
    elm_object_disabled_set(mng.del_button, EINA_TRUE);
 
diff --git a/src/bin/ui/history_ui.c b/src/bin/ui/history_ui.c
index 930a85b..e3fa232 100644
--- a/src/bin/ui/history_ui.c
+++ b/src/bin/ui/history_ui.c
@@ -256,7 +256,7 @@ history_ui_add(Evas_Object *parent, History *history)
    Evas_Object *btn = elm_button_add(hd->layout);
    elm_object_style_set(btn, "undo");
    evas_object_show(btn);
-   evas_object_smart_callback_add(btn, "clicked", _btn_undo_cb, hd);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_btn_undo_cb, hd);
    hd->btn_undo = btn;
 
    Evas_Object *undo_layout = elm_layout_add(hd->layout);
@@ -270,9 +270,9 @@ history_ui_add(Evas_Object *parent, History *history)
    evas_object_size_hint_weight_set(hd->undo_cmbx, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(hd->undo_cmbx, EVAS_HINT_FILL, 
EVAS_HINT_FILL);
    elm_object_style_set(hd->undo_cmbx, "history");
-   evas_object_smart_callback_add(hd->undo_cmbx, "clicked", _expanded_undo, 
hd);
-   evas_object_smart_callback_add(hd->undo_cmbx, "selected", 
_undo_item_selected, hd);
-   evas_object_smart_callback_add(hd->undo_cmbx, "dismissed", 
_undo_item_cleanup, hd);
+   evas_object_smart_callback_add(hd->undo_cmbx, signals.elm.hoversel.clicked, 
_expanded_undo, hd);
+   evas_object_smart_callback_add(hd->undo_cmbx, 
signals.elm.hoversel.selected, _undo_item_selected, hd);
+   evas_object_smart_callback_add(hd->undo_cmbx, 
signals.elm.hoversel.dismissed, _undo_item_cleanup, hd);
 
    evas_object_show(hd->undo_cmbx);
    elm_object_part_content_set(undo_layout, "arrow", hd->undo_cmbx);
@@ -281,7 +281,7 @@ history_ui_add(Evas_Object *parent, History *history)
    btn = elm_button_add(hd->layout);
    elm_object_style_set(btn, "redo");
    evas_object_show(btn);
-   evas_object_smart_callback_add(btn, "clicked", _btn_redo_cb, hd);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_btn_redo_cb, hd);
    hd->btn_redo = btn;
 
    Evas_Object *redo_layout = elm_layout_add(hd->layout);
@@ -295,9 +295,9 @@ history_ui_add(Evas_Object *parent, History *history)
    evas_object_size_hint_weight_set(hd->redo_cmbx, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(hd->redo_cmbx, EVAS_HINT_FILL, 
EVAS_HINT_FILL);
    elm_object_style_set(hd->redo_cmbx, "history");
-   evas_object_smart_callback_add(hd->redo_cmbx, "clicked", _expanded_redo, 
hd);
-   evas_object_smart_callback_add(hd->redo_cmbx, "selected", 
_redo_item_selected, hd);
-   evas_object_smart_callback_add(hd->redo_cmbx, "dismissed", 
_redo_item_cleanup, hd);
+   evas_object_smart_callback_add(hd->redo_cmbx, signals.elm.hoversel.clicked, 
_expanded_redo, hd);
+   evas_object_smart_callback_add(hd->redo_cmbx, 
signals.elm.hoversel.selected, _redo_item_selected, hd);
+   evas_object_smart_callback_add(hd->redo_cmbx, 
signals.elm.hoversel.dismissed, _redo_item_cleanup, hd);
    evas_object_show(hd->redo_cmbx);
    elm_object_part_content_set(redo_layout, "arrow", hd->redo_cmbx);
    elm_object_part_content_set(hd->layout, "redo", redo_layout);
diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c
index 0c70afe..599dd00 100644
--- a/src/bin/ui/image_manager.c
+++ b/src/bin/ui/image_manager.c
@@ -581,25 +581,25 @@ image_manager_add(void)
    elm_gengrid_multi_select_set(mng.gengrid, true);
    elm_gengrid_multi_select_mode_set(mng.gengrid, 
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL);
    elm_gengrid_select_mode_set(mng.gengrid, ELM_OBJECT_SELECT_MODE_ALWAYS);
-   evas_object_smart_callback_add(mng.gengrid, "unselected", _grid_sel_cb, 
NULL);
+   evas_object_smart_callback_add(mng.gengrid, signals.elm.gengrid.unselected, 
_grid_sel_cb, NULL);
    evas_object_show(mng.gengrid);
 
    button = elm_button_add(mng.layout);
    elm_object_style_set(button, "plus_managers");
-   evas_object_smart_callback_add(button, "clicked", _image_add_cb, NULL);
+   evas_object_smart_callback_add(button, signals.elm.button.clicked, 
_image_add_cb, NULL);
    elm_object_part_content_set(mng.layout, "elm.swallow.btn_add", button);
 
    mng.del_button = elm_button_add(mng.layout);
    elm_object_style_set(mng.del_button, "minus_managers");
-   evas_object_smart_callback_add(mng.del_button, "clicked", _image_del_cb, 
NULL);
+   evas_object_smart_callback_add(mng.del_button, signals.elm.button.clicked, 
_image_del_cb, NULL);
    elm_object_part_content_set(mng.layout, "elm.swallow.btn_del", 
mng.del_button);
    elm_object_disabled_set(mng.del_button, true);
 
    // Search line add
    search_entry = _image_manager_search_field_create(mng.layout);
    elm_object_part_content_set(mng.layout, "elm.swallow.search", search_entry);
-   evas_object_smart_callback_add(search_entry, "changed", _entry_changed_cb, 
NULL);
-   evas_object_smart_callback_add(search_entry, "activated", _find_next_cb, 
NULL);
+   evas_object_smart_callback_add(search_entry, signals.elm.entry.changed, 
_entry_changed_cb, NULL);
+   evas_object_smart_callback_add(search_entry, signals.elm.entry.activated, 
_find_next_cb, NULL);
    mng.image_search_data.search_entry = search_entry;
    mng.image_search_data.last_item_found = NULL;
 
diff --git a/src/bin/ui/live_view/elementary/live_ctxpopup.c 
b/src/bin/ui/live_view/elementary/live_ctxpopup.c
index e129542..4706e57 100644
--- a/src/bin/ui/live_view/elementary/live_ctxpopup.c
+++ b/src/bin/ui/live_view/elementary/live_ctxpopup.c
@@ -64,7 +64,7 @@ _ctx_popup_create(Evas_Object *parent,
 
    Evas_Object *ctxpopup = elm_ctxpopup_add(parent);
    elm_object_style_set(ctxpopup, style_name);
-   evas_object_smart_callback_add(ctxpopup, "dismissed", _dismissed_cb, 
parent);
+   evas_object_smart_callback_add(ctxpopup, signals.elm.ctxpopup.dismissed, 
_dismissed_cb, parent);
 
    elm_ctxpopup_horizontal_set(ctxpopup, horizontal);
 
diff --git a/src/bin/ui/live_view/elementary/live_genlist.c 
b/src/bin/ui/live_view/elementary/live_genlist.c
index 1930ec7..3ef4969 100644
--- a/src/bin/ui/live_view/elementary/live_genlist.c
+++ b/src/bin/ui/live_view/elementary/live_genlist.c
@@ -267,14 +267,10 @@ _create_genlist(Evas_Object *obj, const char *class, 
const char *style)
 
    if (type ==  ELM_GENLIST_ITEM_TREE)
      {
-        evas_object_smart_callback_add(glist, "expand,request",
-                                       _expand_request_cb, NULL);
-        evas_object_smart_callback_add(glist, "contract,request",
-                                       _contract_request_cb, NULL);
-        evas_object_smart_callback_add(glist, "expanded",
-                                       _glist_expanded_cb, ic);
-        evas_object_smart_callback_add(glist, "contracted",
-                                       _glist_contracted_cb, NULL);
+        evas_object_smart_callback_add(glist, 
signals.elm.genlist.expand_request, _expand_request_cb, NULL);
+        evas_object_smart_callback_add(glist, 
signals.elm.genlist.contract_request, _contract_request_cb, NULL);
+        evas_object_smart_callback_add(glist, signals.elm.genlist.expanded, 
_glist_expanded_cb, ic);
+        evas_object_smart_callback_add(glist, signals.elm.genlist.contracted, 
_glist_contracted_cb, NULL);
      }
 
    elm_object_style_set(glist, genlist_style);
diff --git a/src/bin/ui/live_view/elementary/live_naviframe.c 
b/src/bin/ui/live_view/elementary/live_naviframe.c
index a32856b..4206c06 100644
--- a/src/bin/ui/live_view/elementary/live_naviframe.c
+++ b/src/bin/ui/live_view/elementary/live_naviframe.c
@@ -39,7 +39,7 @@ _next_page_cb(void *data, Evas_Object *obj __UNUSED__, void 
*event_info __UNUSED
    bt = elm_button_add(nf);
    elm_object_text_set(bt, _("Back"));
    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_smart_callback_add(bt, "clicked", _pop_page_cb, nf);
+   evas_object_smart_callback_add(bt, signals.elm.button.clicked, 
_pop_page_cb, nf);
    evas_object_show(bt);
 
    elm_naviframe_item_push(nf, _("Page Next"), bt, NULL, NULL, 
item_style_name);
@@ -53,7 +53,7 @@ _prev_page_cb(void *data, Evas_Object *obj __UNUSED__, void 
*event_info __UNUSED
    bt = elm_button_add(nf);
    elm_object_text_set(bt, _("Back"));
    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_smart_callback_add(bt, "clicked", _pop_page_cb, nf);
+   evas_object_smart_callback_add(bt, signals.elm.button.clicked, 
_pop_page_cb, nf);
    evas_object_show(bt);
 
    elm_naviframe_item_push(nf, _("Page Prev"), NULL, bt, NULL, 
item_style_name);
@@ -88,12 +88,12 @@ _on_naviframe_swallow_check(void *data __UNUSED__,
              if (!strcmp(part->name, "elm.swallow.prev_btn"))
                {
                   elm_object_text_set(part->object, _("Prev page"));
-                  evas_object_smart_callback_add(part->object, "clicked", 
_prev_page_cb, obj);
+                  evas_object_smart_callback_add(part->object, 
signals.elm.button.clicked, _prev_page_cb, obj);
                }
              else if (!strcmp(part->name, "elm.swallow.next_btn"))
                {
                   elm_object_text_set(part->object, _("Next page"));
-                  evas_object_smart_callback_add(part->object, "clicked", 
_next_page_cb, obj);
+                  evas_object_smart_callback_add(part->object, 
signals.elm.button.clicked, _next_page_cb, obj);
                }
           }
         part->change = false;
diff --git a/src/bin/ui/live_view/elementary/live_notify.c 
b/src/bin/ui/live_view/elementary/live_notify.c
index 9a0af6d..e690753 100644
--- a/src/bin/ui/live_view/elementary/live_notify.c
+++ b/src/bin/ui/live_view/elementary/live_notify.c
@@ -169,7 +169,7 @@ widget_notify_create(Evas_Object *parent, const Group 
*group)
    BOX_ADD(parent, bx, false, false);
    elm_object_content_set(noti, bx);
 
-   evas_object_smart_callback_add(btn, "clicked", _on_click, noti);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, _on_click, 
noti);
 
    object = elm_box_add(parent);
    elm_box_pack_end(object, btn);
diff --git a/src/bin/ui/live_view/elementary/live_widget_common.c 
b/src/bin/ui/live_view/elementary/live_widget_common.c
index 7bbb013..bf7a3ff 100644
--- a/src/bin/ui/live_view/elementary/live_widget_common.c
+++ b/src/bin/ui/live_view/elementary/live_widget_common.c
@@ -87,7 +87,7 @@ _next_page_cb(void *data, Evas_Object *obj __UNUSED__, void 
*event_info __UNUSED
    bt = elm_button_add(nf);
    elm_object_text_set(bt, _("Back"));
    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_smart_callback_add(bt, "clicked", _pop_page_cb, nf);
+   evas_object_smart_callback_add(bt, signals.elm.button.clicked, 
_pop_page_cb, nf);
    evas_object_show(bt);
 
    elm_naviframe_item_push(nf, _("Page Next"), bt, NULL, NULL, NULL);
@@ -101,7 +101,7 @@ _prev_page_cb(void *data, Evas_Object *obj __UNUSED__, void 
*event_info __UNUSED
    bt = elm_button_add(nf);
    elm_object_text_set(bt, _("Back"));
    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_smart_callback_add(bt, "clicked", _pop_page_cb, nf);
+   evas_object_smart_callback_add(bt, signals.elm.button.clicked, 
_pop_page_cb, nf);
    evas_object_show(bt);
 
    elm_naviframe_item_push(nf, _("Page Prev"), NULL, bt, NULL, NULL);
@@ -369,12 +369,12 @@ object_generate(Demo_Part *part, Evas_Object *object)
               bt = elm_button_add(content);
               elm_object_text_set(bt, _("Prev page"));
               elm_object_part_content_set(content, "elm.swallow.prev_btn", bt);
-              evas_object_smart_callback_add(bt, "clicked", _prev_page_cb, 
content);
+              evas_object_smart_callback_add(bt, signals.elm.button.clicked, 
_prev_page_cb, content);
 
               bt2 = elm_button_add(content);
               elm_object_text_set(bt2, _("Next page"));
               elm_object_part_content_set(content, "elm.swallow.next_btn", 
bt2);
-              evas_object_smart_callback_add(bt2, "clicked", _next_page_cb, 
content);
+              evas_object_smart_callback_add(bt2, signals.elm.button.clicked, 
_next_page_cb, content);
               break;
           }
         Elm_Theme *theme = elm_theme_new();
diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c
index 60bc758..e6befbc 100644
--- a/src/bin/ui/main_window.c
+++ b/src/bin/ui/main_window.c
@@ -100,7 +100,7 @@ ui_main_window_add(void)
    elm_win_title_set(ap.win, "EFL Edje Theme Editor");
 #endif
 
-   evas_object_smart_callback_add(ap.win, "delete,request", _close_request, 
NULL);
+   evas_object_smart_callback_add(ap.win, signals.elm.win.delete_request, 
_close_request, NULL);
    evas_object_smart_callback_add(ap.win, signals.shortcut.quit, 
_close_request, NULL);
    evas_object_smart_callback_add(ap.win, signals.shortcut.help, _help, NULL);
 
diff --git a/src/bin/ui/modal_window/modal_window.c 
b/src/bin/ui/modal_window/modal_window.c
index 5b37adb..d68fca2 100644
--- a/src/bin/ui/modal_window/modal_window.c
+++ b/src/bin/ui/modal_window/modal_window.c
@@ -57,7 +57,7 @@ _mw_info(void *data,
 
    BUTTON_ADD(popup, bt, _("Ok"));
    elm_object_part_content_set(popup, "button1", bt);
-   evas_object_smart_callback_add(bt, "clicked", _response_cb, popup);
+   evas_object_smart_callback_add(bt, signals.elm.button.clicked, 
_response_cb, popup);
    evas_object_show(popup);
 }
 
@@ -71,7 +71,7 @@ _on_key_down(void *data,
    Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event_info;
    Evas_Object *btn_close = (Evas_Object *) data;
    if (strcmp(ev->keyname, "Escape") == 0)
-     evas_object_smart_callback_call(btn_close, "clicked", NULL);
+     evas_object_smart_callback_call(btn_close, signals.elm.button.clicked, 
NULL);
 }
 */
 
@@ -200,15 +200,15 @@ mw_add(void)
 
         BUTTON_ADD(mw, btn, NULL);
         elm_object_style_set(btn, "close");
-        evas_object_smart_callback_add(btn, "clicked", _mw_close, mw);
+        evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_mw_close, mw);
         elm_object_part_content_set(mw, "elm.swallow.close", btn);
 
         BUTTON_ADD(mw, btn, _("Cancel"))
-           evas_object_smart_callback_add(btn, "clicked", _mw_close, mw);
+           evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_mw_close, mw);
         elm_object_part_content_set(mw, "eflete.swallow.btn_close", btn);
 
         BUTTON_ADD(mw, btn, _("Ok"))
-           evas_object_smart_callback_add(btn, "clicked", _mw_done, mw);
+           evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_mw_done, mw);
         elm_object_part_content_set(mw, "eflete.swallow.btn_ok", btn);
      }
 
@@ -247,7 +247,7 @@ mw_info_text_set(Evas_Object *object, const char *text)
 
    bt_info = elm_button_add(object);
    evas_object_size_hint_align_set(bt_info, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_smart_callback_add(bt_info, "clicked", _mw_info, text);
+   evas_object_smart_callback_add(bt_info, signals.elm.button.clicked, 
_mw_info, text);
    ICON_STANDARD_ADD(bt_info, ic_info, false, "info");
    elm_layout_content_set(bt_info, "icon", ic_info);
    elm_layout_content_set(object, "elm.swallow.info", bt_info);
diff --git a/src/bin/ui/popup.c b/src/bin/ui/popup.c
index 3fd42bf..6d29eee 100644
--- a/src/bin/ui/popup.c
+++ b/src/bin/ui/popup.c
@@ -118,7 +118,7 @@ _button_add(Popup_Data *pd, int *btn_pos, const char *text, 
Popup_Button pb)
 
    BUTTON_ADD(pd->popup, btn, text);
    evas_object_data_set(btn, POPUP_DATA, pd);
-   evas_object_smart_callback_add(btn, "clicked", _popup_btn_cb, (void *)pb);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_popup_btn_cb, (void *)pb);
    elm_object_part_content_set(pd->popup, position_name[*btn_pos], btn);
    *btn_pos = *btn_pos + 1;
 
@@ -479,8 +479,8 @@ _fileselector_helper(const char *title,
 
    elm_fileselector_path_set(fs, (path && (strcmp(path, ""))) ? path :
                              (ap.last_path) ? ap.last_path : 
profile_get()->general.projects_folder);
-   evas_object_smart_callback_add(fs, "done", _done, follow_up);
-   evas_object_smart_callback_add(fs, "activated", _done, follow_up);
+   evas_object_smart_callback_add(fs, signals.elm.fileselector.done, _done, 
follow_up);
+   evas_object_smart_callback_add(fs, signals.elm.fileselector.activated, 
_done, follow_up);
    evas_object_size_hint_min_set(helper, FS_W, FS_H);
    evas_object_resize(helper, FS_W, FS_H);
 
@@ -856,7 +856,7 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
 
         BUTTON_ADD(fs, helper_data->button, _("Ok"))
         elm_object_part_content_set(helper, "elm.swallow.ok", 
helper_data->button);
-        evas_object_smart_callback_add(helper_data->button, "clicked", 
_done_image, helper_data);
+        evas_object_smart_callback_add(helper_data->button, 
signals.elm.button.clicked, _done_image, helper_data);
         evas_object_show(helper_data->button);
      }
    else
@@ -864,7 +864,7 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
         elm_gengrid_multi_select_set(helper_data->gengrid, false);
         elm_gengrid_multi_select_mode_set(helper_data->gengrid,
                                           
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL);
-        evas_object_smart_callback_add(helper_data->gengrid, "clicked,double", 
_done_image, helper_data);
+        evas_object_smart_callback_add(helper_data->gengrid, 
signals.elm.gengrid.clicked_double, _done_image, helper_data);
      }
    elm_gengrid_item_size_set(helper_data->gengrid, ITEM_WIDTH, ITEM_HEIGHT);
    elm_gengrid_align_set(helper_data->gengrid, 0.0, 0.0);
@@ -893,9 +893,9 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
 #endif
 
    elm_object_part_content_set(fs, "eflete.swallow.search_line", entry);
-   evas_object_smart_callback_add(entry, "changed",
+   evas_object_smart_callback_add(entry, signals.elm.entry.changed,
                                   _on_images_search_entry_changed_cb, 
helper_data);
-   evas_object_smart_callback_add(entry, "activated",
+   evas_object_smart_callback_add(entry, signals.elm.entry.activated,
                                   _search_next_gengrid_item_cb, helper_data);
    helper_data->image_search_data.search_entry = entry;
    helper_data->image_search_data.last_item_found = NULL;
@@ -903,7 +903,7 @@ popup_gengrid_image_helper(const char *title, Evas_Object 
*follow_up,
    BUTTON_ADD(fs, button, NULL);
    ICON_STANDARD_ADD(button, icon, true, "image2");
    elm_object_content_set(button, icon);
-   evas_object_smart_callback_add(button, "clicked", _btn_image_manager_cb, 
NULL);
+   evas_object_smart_callback_add(button, signals.elm.button.clicked, 
_btn_image_manager_cb, NULL);
    elm_object_part_content_set(fs, "eflete.swallow.button", button);
    elm_layout_signal_emit(fs, "button,show", "eflete");
 
@@ -998,9 +998,9 @@ popup_colorselector_helper(Evas_Object *follow_up,
    elm_colorselector_palette_color_add(fs, 255, 255, 255, 255);
    elm_colorselector_palette_color_add(fs, 200, 200, 200, 255);
 #endif
-   evas_object_smart_callback_add(fs, "changed", func_change, data);
-   evas_object_smart_callback_add(fs, "color,item,selected", func_change, 
data);
-   evas_object_smart_callback_add(fs, "color,item,longpressed", func_change, 
data);
+   evas_object_smart_callback_add(fs, signals.elm.colorselector.changed, 
func_change, data);
+   evas_object_smart_callback_add(fs, 
signals.elm.colorselector.color_item_selected, func_change, data);
+   evas_object_smart_callback_add(fs, 
signals.elm.colorselector.color_item_longpressed, func_change, data);
 
    /* small hack, hide not necessary button */
    evas_object_hide(elm_layout_content_unset(fs, "elm.swallow.cancel"));
@@ -1010,7 +1010,7 @@ popup_colorselector_helper(Evas_Object *follow_up,
 #if !HAVE_TIZEN
    BUTTON_ADD(fs, helper_data->button, _("Ok"))
    elm_object_part_content_set(helper, "elm.swallow.ok", helper_data->button);
-   evas_object_smart_callback_add(helper_data->button, "clicked", 
_colorclass_done, helper_data);
+   evas_object_smart_callback_add(helper_data->button, 
signals.elm.button.clicked, _colorclass_done, helper_data);
    evas_object_show(helper_data->button);
 #endif
 
diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c
index 66fb72d..22f3d56 100644
--- a/src/bin/ui/project_navigator.c
+++ b/src/bin/ui/project_navigator.c
@@ -401,7 +401,7 @@ _add_group_content_get(void *data __UNUSED__, Evas_Object 
*popup, Evas_Object **
    /* name: entry */
    LAYOUT_PROP_ADD(layout_p.box, _("Name"), "popup", "1swallow")
    ENTRY_ADD(layout_p.box, layout_p.entry, true)
-   evas_object_smart_callback_add(layout_p.entry, "changed", _group_validate, 
popup);
+   evas_object_smart_callback_add(layout_p.entry, signals.elm.entry.changed, 
_group_validate, popup);
    efl_event_callback_add(layout_p.entry, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, validator);
    elm_layout_content_set(item, NULL, layout_p.entry);
    elm_box_pack_end(layout_p.box, item);
@@ -412,13 +412,13 @@ _add_group_content_get(void *data __UNUSED__, Evas_Object 
*popup, Evas_Object **
    LAYOUT_PROP_ADD(layout_p.box, _("Copy of"), "popup", "1swallow")
    layout_p.layout_combo = item;
    COMBOBOX_ADD(item, layout_p.combobox)
-   evas_object_smart_callback_add(layout_p.combobox, "item,pressed", 
_group_sel, NULL);
+   evas_object_smart_callback_add(layout_p.combobox, 
signals.elm.combobox.item_pressed, _group_sel, NULL);
    elm_layout_content_set(item, NULL, layout_p.combobox);
    elm_box_pack_end(layout_p.box, item);
    /* alias: check */
    LAYOUT_PROP_ADD(layout_p.box, _("Alias"), "popup", "1swallow")
    CHECK_ADD(item, layout_p.check)
-   evas_object_smart_callback_add(layout_p.check, "changed", _alias_ch, NULL);
+   evas_object_smart_callback_add(layout_p.check, signals.elm.check.changed, 
_alias_ch, NULL);
    elm_object_disabled_set(layout_p.check, true);
    elm_layout_content_set(item, NULL, layout_p.check);
    elm_box_pack_end(layout_p.box, item);
@@ -749,12 +749,12 @@ project_navigator_add(void)
    evas_object_show(project_navigator.layout);
 
    project_navigator.btn_add = elm_button_add(project_navigator.layout);
-   evas_object_smart_callback_add(project_navigator.btn_add, "clicked", 
_btn_add_group_cb, NULL);
+   evas_object_smart_callback_add(project_navigator.btn_add, 
signals.elm.button.clicked, _btn_add_group_cb, NULL);
    elm_object_style_set(project_navigator.btn_add, "plus");
    elm_object_part_content_set(project_navigator.layout, "elm.swallow.btn1", 
project_navigator.btn_add);
 
    project_navigator.btn_del = elm_button_add(project_navigator.layout);
-   evas_object_smart_callback_add (project_navigator.btn_del, "clicked", 
_btn_del_group_cb, NULL);
+   evas_object_smart_callback_add (project_navigator.btn_del, 
signals.elm.button.clicked, _btn_del_group_cb, NULL);
    elm_object_style_set(project_navigator.btn_del, "minus");
    elm_object_part_content_set(project_navigator.layout, "elm.swallow.btn0", 
project_navigator.btn_del);
    elm_object_disabled_set(project_navigator.btn_del, true);
@@ -763,19 +763,19 @@ project_navigator_add(void)
    elm_genlist_homogeneous_set(project_navigator.genlist, true);
    evas_object_show(project_navigator.genlist);
    elm_object_content_set(project_navigator.layout, project_navigator.genlist);
-   evas_object_smart_callback_add (project_navigator.genlist, "selected", 
_selected_cb, NULL);
-   evas_object_smart_callback_add (project_navigator.genlist, "unselected", 
_unselected_cb, NULL);
+
+   evas_object_smart_callback_add(project_navigator.genlist, 
signals.elm.genlist.clicked_double, _on_clicked_double, NULL);
+   evas_object_smart_callback_add(project_navigator.genlist, 
signals.elm.genlist.expand_request, _expand_request_cb, NULL);
+   evas_object_smart_callback_add(project_navigator.genlist, 
signals.elm.genlist.contract_request, _contract_request_cb, NULL);
+   evas_object_smart_callback_add(project_navigator.genlist, 
signals.elm.genlist.expanded, _expanded_cb, NULL);
+   evas_object_smart_callback_add(project_navigator.genlist, 
signals.elm.genlist.contracted, _contracted_cb, NULL);
+   evas_object_smart_callback_add(project_navigator.genlist, 
signals.elm.genlist.selected, _selected_cb, NULL);
+   evas_object_smart_callback_add(project_navigator.genlist, 
signals.elm.genlist.unselected, _unselected_cb, NULL);
    /*elm_genlist_tree_effect_enabled_set(project_navigator.genlist, 
EINA_TRUE);*/
 
    elm_object_text_set(project_navigator.layout, _("None"));
    elm_object_disabled_set(project_navigator.layout, true);
 
-   evas_object_smart_callback_add(project_navigator.genlist, "clicked,double", 
_on_clicked_double, NULL);
-   evas_object_smart_callback_add(project_navigator.genlist, "expand,request", 
_expand_request_cb, NULL);
-   evas_object_smart_callback_add(project_navigator.genlist, 
"contract,request", _contract_request_cb, NULL);
-   evas_object_smart_callback_add(project_navigator.genlist, "expanded", 
_expanded_cb, NULL);
-   evas_object_smart_callback_add(project_navigator.genlist, "contracted", 
_contracted_cb, NULL);
-
    evas_object_smart_callback_add(ap.win, SIGNAL_GROUP_ADDED, _group_add, 
NULL);
    evas_object_smart_callback_add(ap.win, SIGNAL_GROUP_DELETED, _group_del, 
NULL);
    evas_object_smart_callback_add(ap.win, signals.shortcut.add.group, 
_btn_add_group_cb, NULL);
diff --git a/src/bin/ui/property/property.c b/src/bin/ui/property/property.c
index ca38bde..59224c5 100644
--- a/src/bin/ui/property/property.c
+++ b/src/bin/ui/property/property.c
@@ -243,12 +243,12 @@ property_add(Evas_Object *parent, Property_Mode mode)
 
    evas_object_data_set(pd->genlist, PROPERTY_DATA, pd);
 
-   evas_object_smart_callback_add(pd->genlist, "expand,request", 
_expand_request_cb, pd);
-   evas_object_smart_callback_add(pd->genlist, "contract,request", 
_contract_request_cb, pd);
-   evas_object_smart_callback_add(pd->genlist, "expanded", _expanded_cb, pd);
-   evas_object_smart_callback_add(pd->genlist, "contracted", _contracted_cb, 
pd);
-   evas_object_smart_callback_add(pd->genlist, "realized", _realized_cb, pd);
-   evas_object_smart_callback_add(pd->genlist, "unrealized", _unrealized_cb, 
pd);
+   evas_object_smart_callback_add(pd->genlist, 
signals.elm.genlist.expand_request, _expand_request_cb, pd);
+   evas_object_smart_callback_add(pd->genlist, 
signals.elm.genlist.contract_request, _contract_request_cb, pd);
+   evas_object_smart_callback_add(pd->genlist, signals.elm.genlist.expanded, 
_expanded_cb, pd);
+   evas_object_smart_callback_add(pd->genlist, signals.elm.genlist.contracted, 
_contracted_cb, pd);
+   evas_object_smart_callback_add(pd->genlist, signals.elm.genlist.realized, 
_realized_cb, pd);
+   evas_object_smart_callback_add(pd->genlist, signals.elm.genlist.unrealized, 
_unrealized_cb, pd);
 
    pd->mode = mode;
    switch (mode)
diff --git a/src/bin/ui/property/property_common.c 
b/src/bin/ui/property/property_common.c
index 55436c6..12c53eb 100644
--- a/src/bin/ui/property/property_common.c
+++ b/src/bin/ui/property/property_common.c
@@ -337,11 +337,11 @@ _control_create(Property_Attribute *pa, Property_Action 
*action, Evas_Object *pa
       case PROPERTY_CONTROL_CHECK:
          CHECK_ADD(parent, content);
          elm_object_style_set(content, "toggle");
-         evas_object_smart_callback_add(content, "changed", 
_start_change_stop_cb, pa);
+         evas_object_smart_callback_add(content, signals.elm.check.changed, 
_start_change_stop_cb, pa);
          break;
       case PROPERTY_CONTROL_BUTTON:
          BUTTON_ADD(parent, content, NULL);
-         evas_object_smart_callback_add(content, "clicked", 
_start_change_stop_cb, pa);
+         evas_object_smart_callback_add(content, signals.elm.button.clicked, 
_start_change_stop_cb, pa);
          break;
       case PROPERTY_CONTROL_COMBOBOX:
          COMBOBOX_ADD(parent, content);
@@ -350,9 +350,9 @@ _control_create(Property_Attribute *pa, Property_Action 
*action, Evas_Object *pa
          itc->func.text_get = _combobox_text_get;
          itc->func.del = _combobox_item_del;
          evas_object_data_set(content, "COMMON_ITC", itc);
-         evas_object_smart_callback_add(content, "item,pressed", 
_combobox_item_pressed_cb, pa);
-         evas_object_smart_callback_add(content, "expanded", 
_combobox_expanded_cb, pa);
-         evas_object_smart_callback_add(content, "dismissed", 
_combobox_dismissed_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.combobox.item_pressed, _combobox_item_pressed_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.combobox.expanded, _combobox_expanded_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.combobox.dismissed, _combobox_dismissed_cb, pa);
          break;
       case PROPERTY_CONTROL_COMBOBOX_CC:
          COMBOBOX_ADD(parent, content);
@@ -363,9 +363,9 @@ _control_create(Property_Attribute *pa, Property_Action 
*action, Evas_Object *pa
          itc->func.del = _combobox_cc_item_del;
          evas_object_data_set(content, "COMMON_ITC", itc);
          elm_object_style_set(content, "color_class");
-         evas_object_smart_callback_add(content, "item,pressed", 
_combobox_item_pressed_cb, pa);
-         evas_object_smart_callback_add(content, "expanded", 
_combobox_expanded_cb, pa);
-         evas_object_smart_callback_add(content, "dismissed", 
_combobox_dismissed_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.combobox.item_pressed, _combobox_item_pressed_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.combobox.expanded, _combobox_expanded_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.combobox.dismissed, _combobox_dismissed_cb, pa);
          break;
       case PROPERTY_CONTROL_SPINNER:
          SPINNER_ADD(parent, content, 0.0, 9999.0, 1.0, true);
@@ -380,9 +380,9 @@ _control_create(Property_Attribute *pa, Property_Action 
*action, Evas_Object *pa
          break;
       case PROPERTY_CONTROL_ENTRY:
          ENTRY_ADD(parent, content, true);
-         evas_object_smart_callback_add(content, "changed,user", 
_start_change_cb, pa);
-         evas_object_smart_callback_add(content, "activated", _stop_cb, pa);
-         evas_object_smart_callback_add(content, "unfocused", _stop_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.entry.changed_user, _start_change_cb, pa);
+         evas_object_smart_callback_add(content, signals.elm.entry.activated, 
_stop_cb, pa);
+         evas_object_smart_callback_add(content, signals.elm.entry.unfocused, 
_stop_cb, pa);
          break;
       case PROPERTY_CONTROL_COLOR:
          content = property_color_control_add(parent);
@@ -393,8 +393,8 @@ _control_create(Property_Attribute *pa, Property_Action 
*action, Evas_Object *pa
          content = elm_colorselector_add(parent);
          elm_colorselector_mode_set(content, ELM_COLORSELECTOR_ALL);
          TODO("start/stop callbacks for this item type would be incorrect. Add 
correct one if needed");
-         evas_object_smart_callback_add(content, "changed,user", 
_start_change_stop_cb, pa);
-         evas_object_smart_callback_add(content, "color,item,selected", 
_start_change_stop_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.colorselector.changed_user, _start_change_stop_cb, pa);
+         evas_object_smart_callback_add(content, 
signals.elm.colorselector.color_item_selected, _start_change_stop_cb, pa);
 
 #if HAVE_TIZEN
          /* Dirty hack for set size to color picker */
diff --git a/src/bin/ui/property/property_common_image.c 
b/src/bin/ui/property/property_common_image.c
index fdb6e9f..a1ce325 100644
--- a/src/bin/ui/property/property_common_image.c
+++ b/src/bin/ui/property/property_common_image.c
@@ -71,8 +71,8 @@ property_image_normal_control_add(Evas_Object *parent)
    ENTRY_ADD(parent, content, true);
    btn = elm_button_add(content);
    elm_object_style_set(btn, "elipsis");
-   evas_object_smart_callback_add(btn, "clicked", _on_state_image_choose, 
content);
-   evas_object_smart_callback_add(content, "clicked", _on_state_image_choose, 
content);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_on_state_image_choose, content);
+   evas_object_smart_callback_add(content, signals.elm.entry.clicked, 
_on_state_image_choose, content);
    elm_object_part_content_set(content, "elm.swallow.elipsis", btn);
    elm_entry_editable_set(content, false);
    evas_object_show(btn);
diff --git a/src/bin/ui/property/property_common_tween.c 
b/src/bin/ui/property/property_common_tween.c
index 48aab2a..b43a3af 100644
--- a/src/bin/ui/property/property_common_tween.c
+++ b/src/bin/ui/property/property_common_tween.c
@@ -218,14 +218,14 @@ property_image_tween_control_add(Evas_Object *parent)
    BUTTON_ADD(item, button, NULL)
    ICON_STANDARD_ADD(button, icon, true, "plus");
    elm_object_part_content_set(button, NULL, icon);
-   evas_object_smart_callback_add(button, "clicked", _add_tween_image,
+   evas_object_smart_callback_add(button, signals.elm.button.clicked, 
_add_tween_image,
                                   item);
    elm_layout_content_set(item, "elm.swallow.add", button);
 
    BUTTON_ADD(item, button, NULL)
    ICON_STANDARD_ADD(button, icon, true, "minus");
    elm_object_part_content_set(button, NULL, icon);
-   evas_object_smart_callback_add(button, "clicked", _del_tween_image,
+   evas_object_smart_callback_add(button, signals.elm.button.clicked, 
_del_tween_image,
                                   item);
    elm_layout_content_set(item, "elm.swallow.del", button);
 
diff --git a/src/bin/ui/property/property_image_selector.c 
b/src/bin/ui/property/property_image_selector.c
index 11180b9..1811cab 100644
--- a/src/bin/ui/property/property_image_selector.c
+++ b/src/bin/ui/property/property_image_selector.c
@@ -67,9 +67,9 @@ property_image_selector_get(Evas_Object *parent)
    ENTRY_ADD(parent, content, true);
    btn = elm_button_add(content);
    elm_object_style_set(btn, "elipsis");
-   evas_object_smart_callback_add(content, "clicked", _on_image_choose, 
content);
+   evas_object_smart_callback_add(content, signals.elm.entry.clicked, 
_on_image_choose, content);
    elm_object_part_content_set(content, "elm.swallow.elipsis", btn);
-   evas_object_smart_callback_add(btn, "clicked", _on_image_choose, content);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_on_image_choose, content);
    elm_entry_editable_set(content, false);
    evas_object_show(btn);
    evas_object_show(content);
diff --git a/src/bin/ui/shortcuts/shortcuts.c b/src/bin/ui/shortcuts/shortcuts.c
index 3aa51e4..7e1ffd6 100644
--- a/src/bin/ui/shortcuts/shortcuts.c
+++ b/src/bin/ui/shortcuts/shortcuts.c
@@ -534,7 +534,7 @@ shortcuts_init(void)
    ap.shortcuts->shortcuts_handler_unpress = 
ecore_event_handler_add(ECORE_EVENT_KEY_UP,
                                                                       
_key_unpress_event_cb,
                                                                       NULL);
-   evas_object_smart_callback_add(ap.win, "unfocused", _win_unfocused_cb, 
NULL);
+   evas_object_smart_callback_add(ap.win, signals.elm.win.unfocused, 
_win_unfocused_cb, NULL);
 
    _default_shortcuts_add();
 
diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c
index 49efecf..b32cf85 100644
--- a/src/bin/ui/sound_manager.c
+++ b/src/bin/ui/sound_manager.c
@@ -363,7 +363,7 @@ _add_tone_content_get(void *data __UNUSED__, Evas_Object 
*popup, Evas_Object **t
    LAYOUT_PROP_ADD(box, _("Tone name:"), "popup", "1swallow")
    ENTRY_ADD(item, mng.tone_entry, true);
    efl_event_callback_add(mng.tone_entry, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, mng.tone_validator);
-   evas_object_smart_callback_add(mng.tone_entry, "changed", _validation, 
popup);
+   evas_object_smart_callback_add(mng.tone_entry, signals.elm.entry.changed, 
_validation, popup);
    elm_object_part_text_set(mng.tone_entry, "guide", _("Type a new tone 
name"));
    elm_object_part_content_set(item, "elm.swallow.content", mng.tone_entry);
    /* need to manualy set not valid string for triggered validator */
@@ -373,7 +373,7 @@ _add_tone_content_get(void *data __UNUSED__, Evas_Object 
*popup, Evas_Object **t
    LAYOUT_PROP_ADD(box, _("Frequency:"), "popup", "1swallow")
    ENTRY_ADD(item, mng.frq_entry, true);
    efl_event_callback_add(mng.frq_entry, ELM_ENTRY_EVENT_VALIDATE, 
elm_validator_regexp_helper, mng.frq_validator);
-   evas_object_smart_callback_add(mng.frq_entry, "changed", _validation, 
popup);
+   evas_object_smart_callback_add(mng.frq_entry, signals.elm.entry.changed, 
_validation, popup);
    /* force validator trigger */
    elm_entry_entry_set(mng.frq_entry, " ");
    elm_object_part_text_set(mng.frq_entry, "guide", _("Type a frequency (20 - 
20000)"));
@@ -618,18 +618,18 @@ sound_manager_add(void)
    elm_gengrid_item_size_set(mng.gengrid, ITEM_WIDTH, ITEM_HEIGHT);
    elm_gengrid_align_set(mng.gengrid, 0.0, 0.0);
    elm_gengrid_group_item_size_set(mng.gengrid, ITEM_HEIGHT/3, ITEM_HEIGHT/3);
-   evas_object_smart_callback_add(mng.gengrid, "unselected", _grid_unsel_cb, 
NULL);
+   evas_object_smart_callback_add(mng.gengrid, signals.elm.gengrid.unselected, 
_grid_unsel_cb, NULL);
    elm_scroller_policy_set(mng.gengrid, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_AUTO);
    elm_object_part_content_set(mng.layout, "elm.swallow.list", mng.gengrid);
 
    button = elm_button_add(mng.layout);
    elm_object_style_set(button, "plus_managers");
-   evas_object_smart_callback_add(button, "clicked", _sound_add_cb, NULL);
+   evas_object_smart_callback_add(button, signals.elm.button.clicked, 
_sound_add_cb, NULL);
    elm_object_part_content_set(mng.layout, "elm.swallow.btn_add", button);
 
    mng.btn_del = elm_button_add(mng.layout);
    elm_object_style_set(mng.btn_del, "minus_managers");
-   evas_object_smart_callback_add(mng.btn_del, "clicked", _sound_del_cb, NULL);
+   evas_object_smart_callback_add(mng.btn_del, signals.elm.button.clicked, 
_sound_del_cb, NULL);
    elm_object_part_content_set(mng.layout, "elm.swallow.btn_del", mng.btn_del);
    elm_object_disabled_set(mng.btn_del, true);
 
@@ -646,8 +646,8 @@ sound_manager_add(void)
    elm_object_style_set(search_entry, "search");
 #endif
    elm_layout_content_set(mng.layout, "elm.swallow.search", search_entry);
-   evas_object_smart_callback_add(search_entry, "changed", _search_changed_cb, 
NULL);
-   evas_object_smart_callback_add(search_entry, "activated", _find_next_cb, 
NULL);
+   evas_object_smart_callback_add(search_entry, signals.elm.entry.changed, 
_search_changed_cb, NULL);
+   evas_object_smart_callback_add(search_entry, signals.elm.entry.activated, 
_find_next_cb, NULL);
    mng.sound_search_data.search_entry = search_entry;
    mng.sound_search_data.last_item_found = NULL;
 
diff --git a/src/bin/ui/sound_player/sound_player.c 
b/src/bin/ui/sound_player/sound_player.c
index adb3119..0d9e519 100644
--- a/src/bin/ui/sound_player/sound_player.c
+++ b/src/bin/ui/sound_player/sound_player.c
@@ -368,11 +368,11 @@ sound_player_add(Evas_Object *parent)
    evas_object_size_hint_weight_set(rewin, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_show(rewin);
    elm_object_part_content_set(control, "eflete.swallow.fast", rewin);
-   evas_object_smart_callback_add(rewin, "changed", _on_rewin_cb, NULL);
+   evas_object_smart_callback_add(rewin, signals.elm.slider.changed, 
_on_rewin_cb, NULL);
 
    BT_ADD(control, play, icon, "media_player/play");
    elm_object_part_content_set(rewin, NULL, play);
-   evas_object_smart_callback_add(play, "clicked", _on_play_cb, NULL);
+   evas_object_smart_callback_add(play, signals.elm.button.clicked, 
_on_play_cb, NULL);
    elm_object_disabled_set(play, true);
 
    vio.get_length = _snd_file_get_length;
diff --git a/src/bin/ui/splash.c b/src/bin/ui/splash.c
index d0a0cfe..2c8ce19 100644
--- a/src/bin/ui/splash.c
+++ b/src/bin/ui/splash.c
@@ -87,7 +87,7 @@ splash_add(Evas_Object *parent,
      {
         BUTTON_ADD(sdata.win, bt, "Cancel");
         elm_object_content_set(sdata.win, bt);
-        evas_object_smart_callback_add(bt, "clicked", _on_splash_close, NULL);
+        evas_object_smart_callback_add(bt, signals.elm.button.clicked, 
_on_splash_close, NULL);
      }
 
    elm_layout_signal_callback_add(sdata.win, "setup", "eflete", _on_setup, 
NULL);
diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c
index 9fd6ade..a9eddfb 100644
--- a/src/bin/ui/style_manager.c
+++ b/src/bin/ui/style_manager.c
@@ -165,7 +165,7 @@ _add_style_content_get(void *data __UNUSED__, Evas_Object 
*popup, Evas_Object **
    mng.popup.item = item;
    ENTRY_ADD(mng.popup.item, mng.popup.name, true);
    efl_event_callback_add(mng.popup.name, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, mng.popup.validator);
-   evas_object_smart_callback_add(mng.popup.name, "changed", _validate, popup);
+   evas_object_smart_callback_add(mng.popup.name, signals.elm.entry.changed, 
_validate, popup);
    elm_object_part_text_set(mng.popup.name, "guide", _("Type a new style 
name"));
    elm_object_part_content_set(mng.popup.item, "elm.swallow.content", 
mng.popup.name);
 
@@ -238,7 +238,7 @@ _add_tag_content_get(void *data __UNUSED__, Evas_Object 
*popup, Evas_Object **to
    LAYOUT_PROP_ADD(mng.win, "Tag name:", "popup", "1swallow");
    ENTRY_ADD(item, mng.popup.name, true);
    efl_event_callback_add(mng.popup.name, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, mng.popup.validator);
-   evas_object_smart_callback_add(mng.popup.name, "changed", _validate, popup);
+   evas_object_smart_callback_add(mng.popup.name, signals.elm.entry.changed, 
_validate, popup);
    elm_object_part_text_set(mng.popup.name, "guide", _("Type a new tag 
name."));
    elm_object_part_content_set(item, "elm.swallow.content", mng.popup.name);
    mng.popup.item = item;
@@ -717,7 +717,7 @@ _radio_switcher_add(Evas_Object *entry_prev,
    evas_object_show(radio);
    elm_object_style_set(radio, style);
    elm_radio_state_value_set(radio, state_value);
-   evas_object_smart_callback_add(radio, "changed", func, entry_prev);
+   evas_object_smart_callback_add(radio, signals.elm.radio.changed, func, 
entry_prev);
    elm_radio_group_add(radio, group);
 
    return radio;
@@ -873,18 +873,18 @@ style_manager_add()
 
    mng.genlist = elm_genlist_add(mng.layout);
    elm_object_part_content_set(mng.layout, "elm.swallow.list", mng.genlist);
-   evas_object_smart_callback_add(mng.genlist, "expand,request", 
_expand_request_cb, NULL);
-   evas_object_smart_callback_add(mng.genlist, "expanded", _expanded_cb, NULL);
-   evas_object_smart_callback_add(mng.genlist, "contract,request", 
_contract_request_cb, NULL);
-   evas_object_smart_callback_add(mng.genlist, "contracted", _contracted_cb, 
NULL);
-   evas_object_smart_callback_add(mng.genlist, "unselected", 
_on_unselected_cb, NULL);
+   evas_object_smart_callback_add(mng.genlist, 
signals.elm.genlist.expand_request, _expand_request_cb, NULL);
+   evas_object_smart_callback_add(mng.genlist, signals.elm.genlist.expanded, 
_expanded_cb, NULL);
+   evas_object_smart_callback_add(mng.genlist, 
signals.elm.genlist.contract_request, _contract_request_cb, NULL);
+   evas_object_smart_callback_add(mng.genlist, signals.elm.genlist.contracted, 
_contracted_cb, NULL);
+   evas_object_smart_callback_add(mng.genlist, signals.elm.genlist.unselected, 
_on_unselected_cb, NULL);
+   evas_object_smart_callback_add(mng.genlist, signals.elm.genlist.pressed, 
_search_reset_cb, &(mng.style_search_data));
    evas_object_show(mng.genlist);
 
    search = _style_manager_search_field_create(mng.layout);
    elm_object_part_content_set(mng.layout, "elm.swallow.search", search);
-   evas_object_smart_callback_add(search, "changed", _search_changed, NULL);
-   evas_object_smart_callback_add(search, "activated", _search_nxt_gd_item, 
NULL);
-   evas_object_smart_callback_add(mng.genlist, "pressed", _search_reset_cb, 
&(mng.style_search_data));
+   evas_object_smart_callback_add(search, signals.elm.entry.changed, 
_search_changed, NULL);
+   evas_object_smart_callback_add(search, signals.elm.entry.activated, 
_search_nxt_gd_item, NULL);
    mng.style_search_data.search_entry = search;
    mng.style_search_data.last_item_found = NULL;
 
@@ -894,12 +894,12 @@ style_manager_add()
 
    button_add = elm_button_add(ap.win);
    elm_object_style_set(button_add, "plus_managers");
-   evas_object_smart_callback_add(button_add, "clicked", _btn_add_cb, NULL);
+   evas_object_smart_callback_add(button_add, signals.elm.button.clicked, 
_btn_add_cb, NULL);
    elm_object_part_content_set(mng.layout, "elm.swallow.btn_add", button_add);
 
    mng.button_del = elm_button_add(ap.win);
    elm_object_style_set(mng.button_del, "minus_managers");
-   evas_object_smart_callback_add(mng.button_del, "clicked", _btn_del_cb, 
NULL);
+   evas_object_smart_callback_add(mng.button_del, signals.elm.button.clicked, 
_btn_del_cb, NULL);
    elm_object_part_content_set(mng.layout, "elm.swallow.btn_del", 
mng.button_del);
    elm_object_disabled_set(mng.button_del, true);
 
diff --git a/src/bin/ui/tab_home_common.c b/src/bin/ui/tab_home_common.c
index f767cfa..f39ac63 100644
--- a/src/bin/ui/tab_home_common.c
+++ b/src/bin/ui/tab_home_common.c
@@ -75,7 +75,7 @@ elipsis_btn_add(Evas_Object *entry, Evas_Smart_Cb cb_func, 
void *data)
    elm_object_style_set(bt, "elipsis");
    elm_object_focus_allow_set(bt, false);
    evas_object_show(bt);
-   evas_object_smart_callback_add(bt, "clicked", cb_func, data);
+   evas_object_smart_callback_add(bt, signals.elm.button.clicked, cb_func, 
data);
    elm_object_part_content_set(entry, "elm.swallow.elipsis", bt);
 }
 
diff --git a/src/bin/ui/tab_home_import_edc.c b/src/bin/ui/tab_home_import_edc.c
index fae28a9..d2ec417 100644
--- a/src/bin/ui/tab_home_import_edc.c
+++ b/src/bin/ui/tab_home_import_edc.c
@@ -142,7 +142,7 @@ _btn_add_add(Evas_Object *item, Evas_Smart_Cb add_func)
    elm_icon_standard_set(ic, "plus");
    elm_object_part_content_set(btn, NULL, ic);
    elm_layout_content_set(item, "swallow.button_add", btn);
-   evas_object_smart_callback_add(btn, "clicked", add_func, NULL);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, add_func, 
NULL);
 }
 
 static void
@@ -231,7 +231,7 @@ _dir_item_add(Evas_Smart_Cb del_func)
    ic = elm_icon_add(dir_data->btn_del);
    elm_icon_standard_set(ic, "minus");
    elm_object_part_content_set(dir_data->btn_del, NULL, ic);
-   evas_object_smart_callback_add(dir_data->btn_del, "clicked", del_func, 
dir_data);
+   evas_object_smart_callback_add(dir_data->btn_del, 
signals.elm.button.clicked, del_func, dir_data);
    elm_layout_content_set(dir_data->item, "swallow.button_del", 
dir_data->btn_del);
 
    return dir_data;
@@ -483,7 +483,7 @@ _tab_import_edc_add(void)
 
    BUTTON_ADD(tab_edc.layout, tab_edc.btn_create, _("Import"))
    elm_object_part_content_set(tab_edc.layout, "elm.swallow.btn_create", 
tab_edc.btn_create);
-   evas_object_smart_callback_add(tab_edc.btn_create, "clicked", _import, 
NULL);
+   evas_object_smart_callback_add(tab_edc.btn_create, 
signals.elm.button.clicked, _import, NULL);
    elm_object_disabled_set(tab_edc.btn_create, true);
 
    SCROLLER_ADD(tab_edc.layout, sc);
@@ -496,7 +496,7 @@ _tab_import_edc_add(void)
    LAYOUT_PROP_ADD(tab_edc.box, _("Project name:"), "tab_home", "item")
    ENTRY_ADD(item, tab_edc.name, true)
    efl_event_callback_add(tab_edc.name, ELM_ENTRY_EVENT_VALIDATE, 
elm_validator_regexp_helper, tab_edc.name_validator);
-   evas_object_smart_callback_add(tab_edc.name, "changed", _validate, NULL);
+   evas_object_smart_callback_add(tab_edc.name, signals.elm.entry.changed, 
_validate, NULL);
    elm_layout_content_set(item, NULL, tab_edc.name);
    elm_box_pack_end(tab_edc.box, item);
    /* label.path */
@@ -510,7 +510,7 @@ _tab_import_edc_add(void)
    LAYOUT_PROP_ADD(tab_edc.box, _("Path to edc-file:"), "tab_home", "item")
    ENTRY_ADD(item, tab_edc.edc, true)
    elm_layout_content_set(item, NULL, tab_edc.edc);
-   evas_object_smart_callback_add(tab_edc.edc, "changed", _validate, NULL);
+   evas_object_smart_callback_add(tab_edc.edc, signals.elm.entry.changed, 
_validate, NULL);
    elm_box_pack_end(tab_edc.box, item);
    elipsis_btn_add(tab_edc.edc, _elipsis_edc, NULL);
    /* separator 1 */
diff --git a/src/bin/ui/tab_home_import_edj.c b/src/bin/ui/tab_home_import_edj.c
index 9883deb..edb5101 100644
--- a/src/bin/ui/tab_home_import_edj.c
+++ b/src/bin/ui/tab_home_import_edj.c
@@ -339,7 +339,7 @@ _genlist_content_get(void *data,
    CHECK_ADD(obj, check);
    elm_object_focus_allow_set(check, false);
    elm_check_state_set(check, node->check);
-   evas_object_smart_callback_add(check, "changed", _check_widget, node);
+   evas_object_smart_callback_add(check, signals.elm.check.changed, 
_check_widget, node);
    return check;
 }
 
@@ -556,14 +556,14 @@ _tab_import_edj_add(void)
 
    BUTTON_ADD(tab_edj.layout, tab_edj.btn_create, _("Create"))
    elm_object_part_content_set(tab_edj.layout, "elm.swallow.btn_create", 
tab_edj.btn_create);
-   evas_object_smart_callback_add(tab_edj.btn_create, "clicked", _import, 
NULL);
+   evas_object_smart_callback_add(tab_edj.btn_create, 
signals.elm.button.clicked, _import, NULL);
    elm_object_disabled_set(tab_edj.btn_create, true);
 
    /* label.name */
    elm_object_part_text_set(tab_edj.layout, "label.name", _("Project name:"));
    ENTRY_ADD(tab_edj.layout, tab_edj.name, true)
    efl_event_callback_add(tab_edj.name, ELM_ENTRY_EVENT_VALIDATE, 
elm_validator_regexp_helper, tab_edj.name_validator);
-   evas_object_smart_callback_add(tab_edj.name, "changed", _name_changed_cb, 
NULL);
+   evas_object_smart_callback_add(tab_edj.name, signals.elm.entry.changed, 
_name_changed_cb, NULL);
    elm_object_part_content_set(tab_edj.layout, "swallow.name", tab_edj.name);
    /* label.path */
    elm_object_part_text_set(tab_edj.layout, "label.path", _("Path to 
project:"));
@@ -575,7 +575,7 @@ _tab_import_edj_add(void)
    /* label.path */
    elm_object_part_text_set(tab_edj.layout, "label.edj", _("Path to 
edj-file:"));
    ENTRY_ADD(tab_edj.layout, tab_edj.edj, true)
-   evas_object_smart_callback_add(tab_edj.edj, "changed", _edj_changed_cb, 
NULL);
+   evas_object_smart_callback_add(tab_edj.edj, signals.elm.entry.changed, 
_edj_changed_cb, NULL);
    elm_object_part_content_set(tab_edj.layout, "swallow.edj", tab_edj.edj);
    elipsis_btn_add(tab_edj.edj, _elipsis_edj, NULL);
 
@@ -585,7 +585,7 @@ _tab_import_edj_add(void)
 
    /* check all */
    CHECK_ADD(tab_edj.layout, tab_edj.ch_all);
-   evas_object_smart_callback_add(tab_edj.ch_all, "changed", _on_check_all, 
NULL);
+   evas_object_smart_callback_add(tab_edj.ch_all, signals.elm.check.changed, 
_on_check_all, NULL);
    elm_object_disabled_set(tab_edj.ch_all, true);
    elm_object_part_content_set(tab_edj.layout, "swallow.all_widgets_check", 
tab_edj.ch_all);
    elm_object_part_text_set(tab_edj.layout, "label.widgets", _("Widgets:"));
@@ -598,11 +598,11 @@ _tab_import_edj_add(void)
 
    /* genlist */
    tab_edj.genlist = elm_genlist_add(ap.win);
-   evas_object_smart_callback_add(tab_edj.genlist, "activated", 
_on_item_activated, NULL);
-   evas_object_smart_callback_add(tab_edj.genlist, "expand,request", 
_expand_request_cb, NULL);
-   evas_object_smart_callback_add(tab_edj.genlist, "contract,request", 
_contract_request_cb, NULL);
-   evas_object_smart_callback_add(tab_edj.genlist, "expanded", _expanded_cb, 
NULL);
-   evas_object_smart_callback_add(tab_edj.genlist, "contracted", 
_contracted_cb, NULL);
+   evas_object_smart_callback_add(tab_edj.genlist, 
signals.elm.genlist.activated, _on_item_activated, NULL);
+   evas_object_smart_callback_add(tab_edj.genlist, 
signals.elm.genlist.expand_request, _expand_request_cb, NULL);
+   evas_object_smart_callback_add(tab_edj.genlist, 
signals.elm.genlist.contract_request, _contract_request_cb, NULL);
+   evas_object_smart_callback_add(tab_edj.genlist, 
signals.elm.genlist.expanded, _expanded_cb, NULL);
+   evas_object_smart_callback_add(tab_edj.genlist, 
signals.elm.genlist.contracted, _contracted_cb, NULL);
 
    elm_object_part_content_set(tab_edj.layout, "swallow.widgets", 
tab_edj.genlist);
    evas_object_event_callback_add(tab_edj.layout, EVAS_CALLBACK_DEL, 
_tab_import_edj_del, NULL);
diff --git a/src/bin/ui/tab_home_info.c b/src/bin/ui/tab_home_info.c
index af66fe3..8123e59 100644
--- a/src/bin/ui/tab_home_info.c
+++ b/src/bin/ui/tab_home_info.c
@@ -107,17 +107,17 @@ _tab_project_info_add(void)
 
    BUTTON_ADD(tab_info.layout, tab_info.btn_save, _("Save"))
    elm_object_part_content_set(tab_info.layout, "elm.swallow.btn_create", 
tab_info.btn_save);
-   evas_object_smart_callback_add(tab_info.btn_save, "clicked", _save, NULL);
+   evas_object_smart_callback_add(tab_info.btn_save, 
signals.elm.button.clicked, _save, NULL);
    elm_object_disabled_set(tab_info.btn_save, true);
 
    LABEL_ADD(tab_info.layout, tab_info.label, NULL)
    elm_object_part_content_set(tab_info.layout, "swallow.project_info", 
tab_info.label);
 
    meta_controls_add(tab_info.layout, &tab_info.meta);
-   evas_object_smart_callback_add(tab_info.meta.version, "changed,user", 
_validate, NULL);
-   evas_object_smart_callback_add(tab_info.meta.authors, "changed,user", 
_validate, NULL);
-   evas_object_smart_callback_add(tab_info.meta.licenses, "changed,user", 
_validate, NULL);
-   evas_object_smart_callback_add(tab_info.meta.comment, "changed,user", 
_validate, NULL);
+   evas_object_smart_callback_add(tab_info.meta.version, 
signals.elm.entry.changed_user, _validate, NULL);
+   evas_object_smart_callback_add(tab_info.meta.authors, 
signals.elm.entry.changed_user, _validate, NULL);
+   evas_object_smart_callback_add(tab_info.meta.licenses, 
signals.elm.entry.changed_user, _validate, NULL);
+   evas_object_smart_callback_add(tab_info.meta.comment, 
signals.elm.entry.changed_user, _validate, NULL);
 
    return tab_info.layout;
 }
diff --git a/src/bin/ui/tab_home_new.c b/src/bin/ui/tab_home_new.c
index 2e86302..c96c705 100644
--- a/src/bin/ui/tab_home_new.c
+++ b/src/bin/ui/tab_home_new.c
@@ -169,7 +169,7 @@ _genlist_content_get(void *data,
    CHECK_ADD(ap.win, check);
    elm_object_focus_allow_set(check, false);
    elm_check_state_set(check, widget_data->check);
-   evas_object_smart_callback_add(check, "changed", _check_widget, data);
+   evas_object_smart_callback_add(check, signals.elm.check.changed, 
_check_widget, data);
    return check;
 }
 
@@ -597,14 +597,14 @@ _tab_new_project_add(void)
 
    BUTTON_ADD(tab_new.layout, tab_new.btn_create, _("Create"))
    elm_object_part_content_set(tab_new.layout, "elm.swallow.btn_create", 
tab_new.btn_create);
-   evas_object_smart_callback_add(tab_new.btn_create, "clicked", _on_create, 
NULL);
+   evas_object_smart_callback_add(tab_new.btn_create, 
signals.elm.button.clicked, _on_create, NULL);
    elm_object_disabled_set(tab_new.btn_create, true);
 
    /* label.name */
    elm_object_part_text_set(tab_new.layout, "label.name", _("Project name:"));
    ENTRY_ADD(tab_new.layout, tab_new.name, true)
    efl_event_callback_add(tab_new.name, ELM_ENTRY_EVENT_VALIDATE, 
elm_validator_regexp_helper, tab_new.name_validator);
-   evas_object_smart_callback_add(tab_new.name, "changed", _validate, NULL);
+   evas_object_smart_callback_add(tab_new.name, signals.elm.entry.changed, 
_validate, NULL);
    elm_object_part_content_set(tab_new.layout, "swallow.name", tab_new.name);
    /* label.path */
    elm_object_part_text_set(tab_new.layout, "label.path", _("Path to 
project:"));
@@ -617,13 +617,13 @@ _tab_new_project_add(void)
 
    /* check all */
    CHECK_ADD(tab_new.layout, tab_new.ch_all);
-   evas_object_smart_callback_add(tab_new.ch_all, "changed", _on_check_all, 
NULL);
+   evas_object_smart_callback_add(tab_new.ch_all, signals.elm.check.changed, 
_on_check_all, NULL);
    elm_object_part_content_set(tab_new.layout, "swallow.all_widgets_check", 
tab_new.ch_all);
    elm_object_part_text_set(tab_new.layout, "label.widgets", _("Widgets:"));
 
    /* genlist */
    tab_new.genlist = elm_genlist_add(ap.win);
-   evas_object_smart_callback_add(tab_new.genlist, "activated", 
_on_item_activated, NULL);
+   evas_object_smart_callback_add(tab_new.genlist, 
signals.elm.genlist.activated, _on_item_activated, NULL);
    itc = elm_genlist_item_class_new();
    itc->item_style = "default";
    itc->func.text_get = _genlist_label_get;
diff --git a/src/bin/ui/tab_home_open.c b/src/bin/ui/tab_home_open.c
index 86f24bc..c329f20 100644
--- a/src/bin/ui/tab_home_open.c
+++ b/src/bin/ui/tab_home_open.c
@@ -152,18 +152,18 @@ _tab_open_project_add(void)
    tab.btn_clear = elm_button_add(ap.win);
    elm_object_text_set(tab.btn_clear, _("Clear list"));
    elm_layout_content_set(tab.layout, "elm.swallow.btn_clear", tab.btn_clear);
-   evas_object_smart_callback_add(tab.btn_clear, "clicked", _recent_clear, 
NULL);
+   evas_object_smart_callback_add(tab.btn_clear, signals.elm.button.clicked, 
_recent_clear, NULL);
 
    tab.fs = elm_fileselector_add(ap.win);
    elm_fileselector_expandable_set(tab.fs, false);
    elm_fileselector_path_set(tab.fs, profile_get()->general.projects_folder);
    elm_fileselector_custom_filter_append(tab.fs, _eflete_filter, NULL, "Eflete 
Files");
-   evas_object_smart_callback_add(tab.fs, "done", _open_done, NULL);
-   evas_object_smart_callback_add(tab.fs, "selected", _selected, NULL);
+   evas_object_smart_callback_add(tab.fs, signals.elm.fileselector.done, 
_open_done, NULL);
+   evas_object_smart_callback_add(tab.fs, signals.elm.fileselector.selected, 
_selected, NULL);
    /* small hack for disabling 'Open' button when .pro is not selected */
    evas_object_smart_callback_add(elm_layout_content_get(tab.fs, 
"elm.swallow.files"),
-                                  "unselected", _unselected, NULL);
-   evas_object_smart_callback_add(tab.fs, "activated", _open_done, NULL);
+                                  signals.elm.genlist.unselected, _unselected, 
NULL);
+   evas_object_smart_callback_add(tab.fs, signals.elm.fileselector.activated, 
_open_done, NULL);
    /* small hack, hide not necessary button */
    evas_object_hide(elm_layout_content_unset(tab.fs, "elm.swallow.filters"));
    evas_object_hide(elm_layout_content_unset(tab.fs, "elm.swallow.cancel"));
@@ -228,7 +228,7 @@ _tab_open_project_recents_update(void)
         elm_object_part_text_set(btn, "elm.text", r->name);
         elm_object_part_text_set(btn, "elm.subtext", r->path);
         evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0.0);
-        evas_object_smart_callback_add(btn, "clicked", _open_recent, r);
+        evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_open_recent, r);
         elm_box_pack_end(box, btn);
         evas_object_show(btn);
      }
diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c
index d049968..4424453 100644
--- a/src/bin/ui/tabs.c
+++ b/src/bin/ui/tabs.c
@@ -1255,7 +1255,7 @@ subtab_select:
    Evas_Object *content, *button;
    content = elm_layout_content_get(tabs.home.content, NULL);
    button = elm_object_part_content_get(content, "elm.swallow.btn_create");
-   evas_object_smart_callback_call(button, "clicked", NULL);
+   evas_object_smart_callback_call(button, signals.elm.button.clicked, NULL);
 #endif /* HAVE_TIZEN */
    elm_toolbar_item_selected_set(item->toolbar_item, true);
 }
diff --git a/src/bin/ui/workspace/demo_group.c 
b/src/bin/ui/workspace/demo_group.c
index b4e7d01..9d2d413 100644
--- a/src/bin/ui/workspace/demo_group.c
+++ b/src/bin/ui/workspace/demo_group.c
@@ -221,7 +221,7 @@ _content_get(void *data,
         BUTTON_ADD(obj, button, NULL);
         ICON_STANDARD_ADD(button, ic, false, "media_player/play");
         elm_object_part_content_set(button, NULL, ic);
-        evas_object_smart_callback_add(button, "clicked", _clicked_cb, data);
+        evas_object_smart_callback_add(button, signals.elm.button.clicked, 
_clicked_cb, data);
      }
    return button;
 }
@@ -437,11 +437,11 @@ demo_group_add(Group *group)
    evas_object_smart_callback_add(ap.win, SIGNAL_PART_RENAMED, _part_renamed, 
pl);
    evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_PROGRAM_UPDATE, 
_program_add, pl);
 
-   evas_object_smart_callback_add(pl->genlist, "expand,request", 
_expand_request_cb, pl);
-   evas_object_smart_callback_add(pl->genlist, "contract,request", 
_contract_request_cb, pl);
-   evas_object_smart_callback_add(pl->genlist, "expanded", _expanded_cb, pl);
-   evas_object_smart_callback_add(pl->genlist, "contracted", _contracted_cb, 
pl);
-   evas_object_smart_callback_add(pl->genlist, "selected", _selected_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, 
signals.elm.genlist.expand_request, _expand_request_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, 
signals.elm.genlist.contract_request, _contract_request_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, signals.elm.genlist.expanded, 
_expanded_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, signals.elm.genlist.contracted, 
_contracted_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, signals.elm.genlist.selected, 
_selected_cb, pl);
    evas_object_data_set(pl->genlist, DEMO_GROUP_DATA, pl);
 
    pl->it_swallow = elm_genlist_item_append(pl->genlist,
diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index 2c4f5e3..32f1ad3 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -286,7 +286,7 @@ _caption_content_get(void *data,
           evas_object_data_set(content, GROUP_NAVIGATOR_DATA, pl);
           edje_object_animation_set(elm_layout_edje_get(content), true);
 
-          evas_object_smart_callback_add(content, "changed", 
_on_parts_eye_clicked, NULL);
+          evas_object_smart_callback_add(content, signals.elm.check.changed, 
_on_parts_eye_clicked, NULL);
        }
 
    return content;
@@ -311,7 +311,7 @@ _part_content_get(void *data,
         elm_object_style_set(content, "eye");
         evas_object_data_set(content, GROUP_NAVIGATOR_DATA, pl);
         edje_object_animation_set(elm_layout_edje_get(content), true);
-        evas_object_smart_callback_add(content, "changed", _on_eye_clicked, 
_part);
+        evas_object_smart_callback_add(content, signals.elm.check.changed, 
_on_eye_clicked, _part);
      }
    if (!strcmp(part, "elm.swallow.end"))
      {
@@ -1099,14 +1099,14 @@ _add_part_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **t
    efl_event_callback_add(pl->popup.entry_name, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, pl->part_name_validator);
    elm_object_part_text_set(pl->popup.entry_name, "guide", _("Enter the name 
of the new part"));
    resource_name_validator_list_set(pl->part_name_validator, 
&pl->group->parts, false);
-   evas_object_smart_callback_add(pl->popup.entry_name, "changed", 
_on_part_name_changed, pl);
+   evas_object_smart_callback_add(pl->popup.entry_name, 
signals.elm.entry.changed, _on_part_name_changed, pl);
    evas_object_show(pl->popup.entry_name);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.entry_name);
    elm_box_pack_end(box, item);
 
    LAYOUT_PROP_ADD(box, _("Part type"), "popup", "1swallow")
    COMBOBOX_ADD(item, pl->popup.combobox)
-   evas_object_smart_callback_add(pl->popup.combobox, "item,pressed",
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_pressed,
                                   _combobox_item_pressed_cb, NULL);
    for (i = 0; part_types[i]; i++)
      {
@@ -1119,12 +1119,12 @@ _add_part_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **t
      }
    elm_object_text_set(pl->popup.combobox, part_types[0]);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.combobox);
-   evas_object_smart_callback_add(pl->popup.combobox, "item,selected", 
_type_selected_cb, pl);
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_selected, _type_selected_cb, pl);
    elm_box_pack_end(box, item);
 
    LAYOUT_PROP_ADD(box, _("Part copy"), "popup", "1swallow")
    COMBOBOX_ADD(item, pl->popup.combobox_copy)
-   evas_object_smart_callback_add(pl->popup.combobox_copy, "item,pressed",
+   evas_object_smart_callback_add(pl->popup.combobox_copy, 
signals.elm.combobox.item_pressed,
                                   _combobox_item_pressed_cb, NULL);
    combobox_item = mem_malloc(sizeof(Combobox_Item));
    combobox_item->index = 0;
@@ -1145,7 +1145,7 @@ _add_part_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **t
      }
    evas_object_show(pl->popup.combobox_copy);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.combobox_copy);
-   evas_object_smart_callback_add(pl->popup.combobox_copy, "item,selected", 
_part_selected_cb, pl);
+   evas_object_smart_callback_add(pl->popup.combobox_copy, 
signals.elm.combobox.item_selected, _part_selected_cb, pl);
    elm_box_pack_end(box, item);
 
    if (to_focus) *to_focus = pl->popup.entry_name;
@@ -1231,7 +1231,7 @@ _add_group_data_content_get(void *data, Evas_Object 
*popup __UNUSED__, Evas_Obje
    efl_event_callback_add(pl->popup.entry_name, ELM_ENTRY_EVENT_VALIDATE, 
resource_name_validator_helper, pl->group_data_name_validator);
    elm_object_part_text_set(pl->popup.entry_name, "guide", _("Enter the name 
of the new group_data"));
    resource_name_validator_list_set(pl->group_data_name_validator, 
&pl->group->data_items, false);
-   evas_object_smart_callback_add(pl->popup.entry_name, "changed", 
_on_group_data_name_changed, pl);
+   evas_object_smart_callback_add(pl->popup.entry_name, 
signals.elm.entry.changed, _on_group_data_name_changed, pl);
    evas_object_show(pl->popup.entry_name);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.entry_name);
    elm_box_pack_end(box, item);
@@ -1370,7 +1370,7 @@ _add_state_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **
    ENTRY_ADD(item, pl->popup.entry_name, true);
    efl_event_callback_add(pl->popup.entry_name, ELM_ENTRY_EVENT_VALIDATE,
                          elm_validator_regexp_helper, pl->name_validator);
-   evas_object_smart_callback_add(pl->popup.entry_name, "changed", 
_state_validate, pl);
+   evas_object_smart_callback_add(pl->popup.entry_name, 
signals.elm.entry.changed, _state_validate, pl);
    elm_object_part_text_set(pl->popup.entry_name, "guide", _("Enter the name 
of the new state"));
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.entry_name);
    elm_box_pack_end(box, item);
@@ -1380,7 +1380,7 @@ _add_state_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **
    elm_object_style_set(pl->popup.spinner_value, "vertical");
    elm_spinner_label_format_set(pl->popup.spinner_value, "%1.2f");
    elm_object_part_text_set(item, "elm.subtext", _("Available values: 0.0 - 
1.0"));
-   evas_object_smart_callback_add(pl->popup.spinner_value, "changed", 
_state_validate, pl);
+   evas_object_smart_callback_add(pl->popup.spinner_value, 
signals.elm.spinner.changed_user, _state_validate, pl);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.spinner_value);
    elm_box_pack_end(box, item);
 
@@ -1407,10 +1407,10 @@ _add_state_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **
                                 ELM_GENLIST_ITEM_NONE, NULL, NULL);
         eina_stringshare_del(label);
      }
-   evas_object_smart_callback_add(pl->popup.combobox, "item,pressed",
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_pressed,
                                   _combobox_item_pressed_cb, NULL);
    evas_object_show(pl->popup.combobox);
-   evas_object_smart_callback_add(pl->popup.combobox, "item,selected", 
_state_selected_cb, pl);
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_selected, _state_selected_cb, pl);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.combobox);
    elm_box_pack_end(box, item);
 
@@ -1519,7 +1519,7 @@ _add_item_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **t
    ENTRY_ADD(item, pl->popup.entry_name, true);
    efl_event_callback_add(pl->popup.entry_name, ELM_ENTRY_EVENT_VALIDATE,
                          elm_validator_regexp_helper, pl->name_validator);
-   evas_object_smart_callback_add(pl->popup.entry_name, "changed", 
_item_validate, pl);
+   evas_object_smart_callback_add(pl->popup.entry_name, 
signals.elm.entry.changed, _item_validate, pl);
    elm_object_part_text_set(pl->popup.entry_name, "guide", _("Enter the name 
of the new item"));
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.entry_name);
    elm_box_pack_end(box, item);
@@ -1541,11 +1541,11 @@ _add_item_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object **t
                                      ELM_GENLIST_ITEM_NONE, NULL, NULL);
           }
      }
-   evas_object_smart_callback_add(pl->popup.combobox, "item,pressed",
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_pressed,
                                   _combobox_item_pressed_cb, NULL);
    evas_object_show(pl->popup.combobox);
-   evas_object_smart_callback_add(pl->popup.combobox, "dismissed", 
_item_validate, pl);
-   evas_object_smart_callback_add(pl->popup.combobox, "item,selected", 
_item_selected, pl);
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.dismissed, _item_validate, pl);
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_selected, _item_selected, pl);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.combobox);
 
    elm_box_pack_end(box, item);
@@ -1651,7 +1651,7 @@ _add_program_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object
    efl_event_callback_add(pl->popup.entry_name, ELM_ENTRY_EVENT_VALIDATE,
                          resource_name_validator_helper, 
pl->program_name_validator);
    resource_name_validator_list_set(pl->program_name_validator, 
&pl->group->programs, false);
-   evas_object_smart_callback_add(pl->popup.entry_name, "changed", 
_program_validate, pl);
+   evas_object_smart_callback_add(pl->popup.entry_name, 
signals.elm.entry.changed, _program_validate, pl);
    elm_object_part_text_set(pl->popup.entry_name, "guide", _("Enter the name 
of the new program"));
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.entry_name);
    elm_box_pack_end(box, item);
@@ -1669,9 +1669,9 @@ _add_program_content_get(void *data, Evas_Object *popup 
__UNUSED__, Evas_Object
      }
    elm_object_text_set(pl->popup.combobox, program_actions[0]);
    elm_object_part_content_set(item, "elm.swallow.content", 
pl->popup.combobox);
-   evas_object_smart_callback_add(pl->popup.combobox, "item,pressed",
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_pressed,
                                   _combobox_item_pressed_cb, NULL);
-   evas_object_smart_callback_add(pl->popup.combobox, "item,selected", 
_program_selected_cb, pl);
+   evas_object_smart_callback_add(pl->popup.combobox, 
signals.elm.combobox.item_selected, _program_selected_cb, pl);
 
    elm_box_pack_end(box, item);
    pl->popup.box = box;
@@ -2504,13 +2504,13 @@ group_navigator_add(Evas_Object *parent, Group *group)
    pl->group = group;
 
    BTN_ADD(pl->layout, pl->btn_add, "elm.swallow.btn1", "plus");
-   evas_object_smart_callback_add(pl->btn_add, "clicked", 
_on_btn_plus_clicked, pl);
+   evas_object_smart_callback_add(pl->btn_add, signals.elm.button.clicked, 
_on_btn_plus_clicked, pl);
    BTN_ADD(pl->layout, pl->btn_del, "elm.swallow.btn0", "minus");
-   evas_object_smart_callback_add(pl->btn_del, "clicked", 
_on_btn_minus_clicked, pl);
+   evas_object_smart_callback_add(pl->btn_del, signals.elm.button.clicked, 
_on_btn_minus_clicked, pl);
    BTN_ADD(pl->layout, pl->btn_down, "elm.swallow.btn3", "down");
-   evas_object_smart_callback_add(pl->btn_down, "clicked", 
_on_btn_down_clicked, pl);
+   evas_object_smart_callback_add(pl->btn_down, signals.elm.button.clicked, 
_on_btn_down_clicked, pl);
    BTN_ADD(pl->layout, pl->btn_up, "elm.swallow.btn2", "up");
-   evas_object_smart_callback_add(pl->btn_up, "clicked", _on_btn_up_clicked, 
pl);
+   evas_object_smart_callback_add(pl->btn_up, signals.elm.button.clicked, 
_on_btn_up_clicked, pl);
 
    elm_object_disabled_set(pl->btn_del, true);
    elm_object_disabled_set(pl->btn_down, true);
@@ -2561,12 +2561,12 @@ group_navigator_add(Evas_Object *parent, Group *group)
    elm_scroller_policy_set(pl->genlist, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_AUTO);
    evas_object_show(pl->genlist);
    elm_object_content_set(pl->layout, pl->genlist);
-   evas_object_smart_callback_add(pl->genlist, "expand,request", 
_expand_request_cb, pl);
-   evas_object_smart_callback_add(pl->genlist, "contract,request", 
_contract_request_cb, pl);
-   evas_object_smart_callback_add(pl->genlist, "expanded", _expanded_cb, pl);
-   evas_object_smart_callback_add(pl->genlist, "contracted", _contracted_cb, 
pl);
-   evas_object_smart_callback_add(pl->genlist, "selected", _selected_cb, pl);
-   evas_object_smart_callback_add(pl->genlist, "unselected", _unselected_cb, 
pl);
+   evas_object_smart_callback_add(pl->genlist, 
signals.elm.genlist.expand_request, _expand_request_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, 
signals.elm.genlist.contract_request, _contract_request_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, signals.elm.genlist.expanded, 
_expanded_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, signals.elm.genlist.contracted, 
_contracted_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, signals.elm.genlist.selected, 
_selected_cb, pl);
+   evas_object_smart_callback_add(pl->genlist, signals.elm.genlist.unselected, 
_unselected_cb, pl);
    evas_object_data_set(pl->genlist, GROUP_NAVIGATOR_DATA, pl);
    /*elm_genlist_tree_effect_enabled_set(pl->genlist, EINA_TRUE);*/
 
diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c
index 2bfd2d0..11d9fda 100644
--- a/src/bin/ui/workspace/workspace.c
+++ b/src/bin/ui/workspace/workspace.c
@@ -451,7 +451,7 @@ _zoom_controls_add(Workspace_Data *wd)
    Elm_Object_Item *tb_it;
 
    wd->toolbar.zoom.fit = elm_button_add(wd->toolbar.obj);
-   evas_object_smart_callback_add(wd->toolbar.zoom.fit, "clicked", _fit_cb, 
wd);
+   evas_object_smart_callback_add(wd->toolbar.zoom.fit, 
signals.elm.button.clicked, _fit_cb, wd);
 #if HAVE_TIZEN
    elm_object_style_set(wd->toolbar.zoom.fit, "fit");
 #else
@@ -467,19 +467,19 @@ _zoom_controls_add(Workspace_Data *wd)
    wd->toolbar.zoom.slider = elm_slider_add(wd->toolbar.obj);
    elm_slider_min_max_set(wd->toolbar.zoom.slider, 10.0, 1000.0);
    elm_slider_value_set(wd->toolbar.zoom.slider, 100);
-   evas_object_smart_callback_add(wd->toolbar.zoom.slider, 
"slider,drag,start", _slider_zoom_start_cb, wd);
-   evas_object_smart_callback_add(wd->toolbar.zoom.slider, "changed", 
_slider_zoom_cb, wd);
-   evas_object_smart_callback_add(wd->toolbar.zoom.slider, "slider,drag,stop", 
_slider_zoom_stop_cb, wd);
+   evas_object_smart_callback_add(wd->toolbar.zoom.slider, 
signals.elm.slider.drag_start, _slider_zoom_start_cb, wd);
+   evas_object_smart_callback_add(wd->toolbar.zoom.slider, 
signals.elm.slider.changed, _slider_zoom_cb, wd);
+   evas_object_smart_callback_add(wd->toolbar.zoom.slider, 
signals.elm.slider.drag_stop, _slider_zoom_stop_cb, wd);
 #if HAVE_TIZEN
    Evas_Object *btn = elm_button_add(wd->toolbar.obj);
    elm_object_style_set(btn, "minus_zoom");
    evas_object_show(btn);
-   evas_object_smart_callback_add(btn, "clicked", _btn_minus_zoom_cb, wd);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_btn_minus_zoom_cb, wd);
    elm_object_part_content_set(wd->toolbar.zoom.slider, "elm.swallow.icon", 
btn);
    btn = elm_button_add(wd->toolbar.obj);
    elm_object_style_set(btn, "plus_zoom");
    evas_object_show(btn);
-   evas_object_smart_callback_add(btn, "clicked", _btn_plus_zoom_cb, wd);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_btn_plus_zoom_cb, wd);
    elm_object_part_content_set(wd->toolbar.zoom.slider, "elm.swallow.end", 
btn);
 #else
    IMAGE_ADD_NEW(wd->toolbar.zoom.slider, img, "icon", "scale_smaller")
@@ -518,7 +518,7 @@ _zoom_controls_add(Workspace_Data *wd)
    wd->toolbar.zoom.itc->func.del = _combobox_item_del;
    evas_object_size_hint_min_set(wd->toolbar.zoom.cmb_zoom, 70, 0);
    elm_object_text_set(wd->toolbar.zoom.cmb_zoom, _("100%"));
-   evas_object_smart_callback_add(wd->toolbar.zoom.cmb_zoom, "item,pressed", 
_zoom_selected_cb, wd);
+   evas_object_smart_callback_add(wd->toolbar.zoom.cmb_zoom, 
signals.elm.combobox.item_pressed, _zoom_selected_cb, wd);
    while (zoom_values[i])
     {
       text = eina_stringshare_printf("%d%%", zoom_values[i]);
@@ -610,7 +610,7 @@ _container_size_controls_add(Workspace_Data *wd)
 
    wd->toolbar.container_sizer.check_lock = elm_check_add(wd->toolbar.obj);
    elm_object_style_set(wd->toolbar.container_sizer.check_lock, "locker");
-   evas_object_smart_callback_add(wd->toolbar.container_sizer.check_lock, 
"changed", _container_lock, wd);
+   evas_object_smart_callback_add(wd->toolbar.container_sizer.check_lock, 
signals.elm.check.changed, _container_lock, wd);
    tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
    elm_object_item_part_content_set(tb_it, NULL, 
wd->toolbar.container_sizer.check_lock);
 
@@ -630,7 +630,7 @@ _container_size_controls_add(Workspace_Data *wd)
 
    wd->toolbar.container_sizer.check_chain = elm_check_add(wd->toolbar.obj);
    elm_object_style_set(wd->toolbar.container_sizer.check_chain, "chain");
-   evas_object_smart_callback_add(wd->toolbar.container_sizer.check_chain, 
"changed", _container_aspect_change, wd);
+   evas_object_smart_callback_add(wd->toolbar.container_sizer.check_chain, 
signals.elm.check.changed, _container_aspect_change, wd);
 
 #if !HAVE_TIZEN
    tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
@@ -667,7 +667,7 @@ _radio_switcher_add(Workspace_Data *wd,
    radio = elm_radio_add(wd->layout);
    elm_object_style_set(radio, style);
    elm_radio_state_value_set(radio, state_value);
-   evas_object_smart_callback_add(radio, "changed", func, wd);
+   evas_object_smart_callback_add(radio, signals.elm.radio.changed, func, wd);
    elm_radio_group_add(radio, group);
 
    return radio;
@@ -1041,7 +1041,7 @@ static void
 _menu_add(Workspace_Data *wd)
 {
    wd->menu.obj = elm_menu_add(ap.win);
-   evas_object_smart_callback_add(wd->menu.obj, "clicked", _menu_dismissed, 
wd);
+   evas_object_smart_callback_add(wd->menu.obj, signals.elm.menu.clicked, 
_menu_dismissed, wd);
    MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Undo"), _menu_undo, "Ctrl-Z", 
NULL, wd);
    MENU_ITEM_ADD(wd->menu.obj, NULL, NULL, _("Redo"), _menu_redo, "Ctrl-Y", 
NULL, wd);
    elm_menu_item_separator_add(wd->menu.obj, NULL);
@@ -1503,7 +1503,7 @@ workspace_add(Evas_Object *parent, Group *group)
    evas_object_size_hint_min_set(wd->toolbar.libraries_switcher, 95, 0);
    elm_object_text_set(wd->toolbar.libraries_switcher, _("Library"));
    elm_object_style_set(wd->toolbar.libraries_switcher, "library");
-   evas_object_smart_callback_add(wd->toolbar.libraries_switcher, 
"item,pressed", _library_select, wd);
+   evas_object_smart_callback_add(wd->toolbar.libraries_switcher, 
signals.elm.combobox.item_pressed, _library_select, wd);
    tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
    elm_object_item_part_content_set(tb_it, NULL, 
wd->toolbar.libraries_switcher);
 
@@ -1557,7 +1557,7 @@ workspace_add(Evas_Object *parent, Group *group)
 #else
    CHECK_ADD(wd->layout, wd->toolbar.mode_switcher);
    elm_object_style_set(wd->toolbar.mode_switcher, "demo");
-   evas_object_smart_callback_add(wd->toolbar.mode_switcher, "changed", 
_mode_cb, wd);
+   evas_object_smart_callback_add(wd->toolbar.mode_switcher, 
signals.elm.check.changed, _mode_cb, wd);
    tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
    elm_object_item_part_content_set(tb_it, NULL, wd->toolbar.mode_switcher);
    tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL);
@@ -1586,8 +1586,8 @@ workspace_add(Evas_Object *parent, Group *group)
    elm_object_style_set(wd->panes_h, "pan_hide");
    elm_panes_horizontal_set(wd->panes_h, true);
    elm_panes_content_right_size_set(wd->panes_h, 0); /* set the default min 
size */
-   evas_object_smart_callback_add(wd->panes_h, "press", _panes_h_press, wd);
-   evas_object_smart_callback_add(wd->panes_h, "unpress", _panes_h_unpress, 
wd);
+   evas_object_smart_callback_add(wd->panes_h, signals.elm.panes.press, 
_panes_h_press, wd);
+   evas_object_smart_callback_add(wd->panes_h, signals.elm.panes.unpress, 
_panes_h_unpress, wd);
    elm_layout_content_set(wd->layout, NULL, wd->panes_h);
 
    ENTRY_ADD(wd->panes_h, wd->code.obj, false)
@@ -2285,7 +2285,7 @@ workspace_code_changed(Evas_Object *obj)
    elm_object_text_set(layout, _("Project is changed"));
    btn = elm_button_add(layout);
    elm_object_text_set(btn, _("Reload"));
-   evas_object_smart_callback_add(btn, "clicked", _code_reload, wd);
+   evas_object_smart_callback_add(btn, signals.elm.button.clicked, 
_code_reload, wd);
    elm_object_content_set(layout, btn);
 
    elm_object_part_content_set(wd->code.obj, "elm.swallow.overlay", layout);

-- 


Reply via email to