summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWooHyun Jung <wh0705.jung@samsung.com>2014-02-06 16:18:57 +0900
committerWooHyun Jung <wh0705.jung@samsung.com>2014-02-06 16:18:57 +0900
commit62f8db5e7e5394051281b9996cae7ea7e2368d8d (patch)
tree07e36127e476805b59cb21d7cafcdb4111202743
parent3e7c9abcb5c651631e41b5fb94fb569832987810 (diff)
elm_layout now supports focused/unfocused smart callback
by itself for widgets that inherit layout class. If it uses elm_widget's, smart callback will be called at the beginning or smart_on_focus function.
-rw-r--r--src/lib/elc_ctxpopup.c4
-rw-r--r--src/lib/elc_fileselector.c4
-rw-r--r--src/lib/elc_fileselector_button.c4
-rw-r--r--src/lib/elc_naviframe.c4
-rw-r--r--src/lib/elc_player.c4
-rw-r--r--src/lib/elc_popup.c4
-rw-r--r--src/lib/elm_bubble.c4
-rw-r--r--src/lib/elm_button.c4
-rw-r--r--src/lib/elm_calendar.c4
-rw-r--r--src/lib/elm_check.c4
-rw-r--r--src/lib/elm_clock.c4
-rw-r--r--src/lib/elm_colorselector.c4
-rw-r--r--src/lib/elm_datetime.c4
-rw-r--r--src/lib/elm_flipselector.c4
-rw-r--r--src/lib/elm_gengrid.c4
-rw-r--r--src/lib/elm_genlist.c4
-rw-r--r--src/lib/elm_hover.c4
-rw-r--r--src/lib/elm_index.c4
-rw-r--r--src/lib/elm_layout.c10
-rw-r--r--src/lib/elm_list.c4
-rw-r--r--src/lib/elm_panel.c4
-rw-r--r--src/lib/elm_priv.h2
-rw-r--r--src/lib/elm_progressbar.c4
-rw-r--r--src/lib/elm_radio.c4
-rw-r--r--src/lib/elm_scroller.c4
-rw-r--r--src/lib/elm_slider.c4
-rw-r--r--src/lib/elm_slideshow.c4
-rw-r--r--src/lib/elm_spinner.c4
-rw-r--r--src/lib/elm_video.c4
29 files changed, 63 insertions, 57 deletions
diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index 1109bb127..10df5e6c5 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -24,8 +24,8 @@ ELM_PRIV_CTXPOPUP_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
24static const Evas_Smart_Cb_Description _smart_callbacks[] = { 24static const Evas_Smart_Cb_Description _smart_callbacks[] = {
25 ELM_PRIV_CTXPOPUP_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) 25 ELM_PRIV_CTXPOPUP_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
26 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 26 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
27 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 27 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
28 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 28 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
29 {NULL, NULL} 29 {NULL, NULL}
30}; 30};
31#undef ELM_PRIV_CTXPOPUP_SIGNALS 31#undef ELM_PRIV_CTXPOPUP_SIGNALS
diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c
index 9c05086b0..d6c3e6d3c 100644
--- a/src/lib/elc_fileselector.c
+++ b/src/lib/elc_fileselector.c
@@ -38,8 +38,8 @@ ELM_PRIV_FILESELECTOR_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
38 38
39static const Evas_Smart_Cb_Description _smart_callbacks[] = { 39static const Evas_Smart_Cb_Description _smart_callbacks[] = {
40 ELM_PRIV_FILESELECTOR_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) 40 ELM_PRIV_FILESELECTOR_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
41 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 41 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
42 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 42 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
43 {NULL, NULL} 43 {NULL, NULL}
44}; 44};
45#undef ELM_PRIV_FILESELECTOR_SIGNALS 45#undef ELM_PRIV_FILESELECTOR_SIGNALS
diff --git a/src/lib/elc_fileselector_button.c b/src/lib/elc_fileselector_button.c
index f845866d8..1a6e95137 100644
--- a/src/lib/elc_fileselector_button.c
+++ b/src/lib/elc_fileselector_button.c
@@ -24,8 +24,8 @@ ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
24static const Evas_Smart_Cb_Description _smart_callbacks[] = { 24static const Evas_Smart_Cb_Description _smart_callbacks[] = {
25 ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) 25 ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
26 {SIG_WIDGET_LANG_CHANGED, ""}, /**<handled by elm_widget */ 26 {SIG_WIDGET_LANG_CHANGED, ""}, /**<handled by elm_widget */
27 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 27 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
28 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 28 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
29 {NULL, NULL} 29 {NULL, NULL}
30}; 30};
31#undef ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS 31#undef ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS
diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c
index 569a31f76..2173ff5ff 100644
--- a/src/lib/elc_naviframe.c
+++ b/src/lib/elc_naviframe.c
@@ -31,8 +31,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
31 {SIG_TITLE_TRANSITION_FINISHED, ""}, 31 {SIG_TITLE_TRANSITION_FINISHED, ""},
32 {SIG_TITLE_CLICKED, ""}, 32 {SIG_TITLE_CLICKED, ""},
33 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 33 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
34 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 34 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
35 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 35 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
36 {NULL, NULL} 36 {NULL, NULL}
37}; 37};
38 38
diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c
index 136af9ece..7bf4824dd 100644
--- a/src/lib/elc_player.c
+++ b/src/lib/elc_player.c
@@ -51,8 +51,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
51 { SIG_VOLUME_CLICKED, "" }, 51 { SIG_VOLUME_CLICKED, "" },
52 { SIG_MUTE_CLICKED, "" }, 52 { SIG_MUTE_CLICKED, "" },
53 { SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 53 { SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
54 { SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 54 { SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
55 { SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 55 { SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
56 { NULL, NULL } 56 { NULL, NULL }
57}; 57};
58 58
diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index ecd724f28..edc1a6a33 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -28,8 +28,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
28 {SIG_BLOCK_CLICKED, ""}, 28 {SIG_BLOCK_CLICKED, ""},
29 {SIG_TIMEOUT, ""}, 29 {SIG_TIMEOUT, ""},
30 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 30 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
31 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 31 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
32 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 32 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
33 {NULL, NULL} 33 {NULL, NULL}
34}; 34};
35 35
diff --git a/src/lib/elm_bubble.c b/src/lib/elm_bubble.c
index 0f0ea7d97..ea74e1ed3 100644
--- a/src/lib/elm_bubble.c
+++ b/src/lib/elm_bubble.c
@@ -19,8 +19,8 @@ static const char SIG_CLICKED[] = "clicked";
19static const Evas_Smart_Cb_Description _smart_callbacks[] = 19static const Evas_Smart_Cb_Description _smart_callbacks[] =
20{ 20{
21 {SIG_CLICKED, ""}, 21 {SIG_CLICKED, ""},
22 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 22 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
23 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 23 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
24 {NULL, NULL} 24 {NULL, NULL}
25}; 25};
26 26
diff --git a/src/lib/elm_button.c b/src/lib/elm_button.c
index d09b12fa2..28ce15c8d 100644
--- a/src/lib/elm_button.c
+++ b/src/lib/elm_button.c
@@ -26,8 +26,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
26 {SIG_REPEATED, ""}, 26 {SIG_REPEATED, ""},
27 {SIG_PRESSED, ""}, 27 {SIG_PRESSED, ""},
28 {SIG_UNPRESSED, ""}, 28 {SIG_UNPRESSED, ""},
29 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 29 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
30 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 30 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
31 {NULL, NULL} 31 {NULL, NULL}
32}; 32};
33 33
diff --git a/src/lib/elm_calendar.c b/src/lib/elm_calendar.c
index c32028c48..b61100932 100644
--- a/src/lib/elm_calendar.c
+++ b/src/lib/elm_calendar.c
@@ -20,8 +20,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
20 {SIG_CHANGED, ""}, 20 {SIG_CHANGED, ""},
21 {SIG_DISPLAY_CHANGED, ""}, 21 {SIG_DISPLAY_CHANGED, ""},
22 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 22 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
23 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 23 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
24 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 24 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
25 {NULL, NULL} 25 {NULL, NULL}
26}; 26};
27 27
diff --git a/src/lib/elm_check.c b/src/lib/elm_check.c
index 5147b9ead..58c2afe41 100644
--- a/src/lib/elm_check.c
+++ b/src/lib/elm_check.c
@@ -34,8 +34,8 @@ static const char SIG_CHANGED[] = "changed";
34static const Evas_Smart_Cb_Description _smart_callbacks[] = { 34static const Evas_Smart_Cb_Description _smart_callbacks[] = {
35 {SIG_CHANGED, ""}, 35 {SIG_CHANGED, ""},
36 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 36 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
37 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 37 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
38 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 38 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
39 {NULL, NULL} 39 {NULL, NULL}
40}; 40};
41 41
diff --git a/src/lib/elm_clock.c b/src/lib/elm_clock.c
index 806374984..26912f406 100644
--- a/src/lib/elm_clock.c
+++ b/src/lib/elm_clock.c
@@ -21,8 +21,8 @@ static const char SIG_CHANGED[] = "changed";
21static const Evas_Smart_Cb_Description _smart_callbacks[] = { 21static const Evas_Smart_Cb_Description _smart_callbacks[] = {
22 {SIG_CHANGED, ""}, 22 {SIG_CHANGED, ""},
23 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 23 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
24 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 24 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
25 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 25 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
26 {NULL, NULL} 26 {NULL, NULL}
27}; 27};
28 28
diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c
index fddd11062..080968932 100644
--- a/src/lib/elm_colorselector.c
+++ b/src/lib/elm_colorselector.c
@@ -30,8 +30,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] =
30 {SIG_COLOR_ITEM_LONGPRESSED, ""}, 30 {SIG_COLOR_ITEM_LONGPRESSED, ""},
31 {SIG_CHANGED, ""}, 31 {SIG_CHANGED, ""},
32 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 32 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
33 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 33 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
34 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 34 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
35 {NULL, NULL} 35 {NULL, NULL}
36}; 36};
37 37
diff --git a/src/lib/elm_datetime.c b/src/lib/elm_datetime.c
index 6100b1ccc..5db425102 100644
--- a/src/lib/elm_datetime.c
+++ b/src/lib/elm_datetime.c
@@ -66,8 +66,8 @@ static const char SIG_CHANGED[] = "changed";
66static const Evas_Smart_Cb_Description _smart_callbacks[] = { 66static const Evas_Smart_Cb_Description _smart_callbacks[] = {
67 {SIG_CHANGED, ""}, 67 {SIG_CHANGED, ""},
68 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 68 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
69 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 69 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
70 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 70 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
71 {NULL, NULL} 71 {NULL, NULL}
72}; 72};
73 73
diff --git a/src/lib/elm_flipselector.c b/src/lib/elm_flipselector.c
index b8667f3cb..fb3800260 100644
--- a/src/lib/elm_flipselector.c
+++ b/src/lib/elm_flipselector.c
@@ -43,8 +43,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
43 {SIG_UNDERFLOWED, ""}, 43 {SIG_UNDERFLOWED, ""},
44 {SIG_OVERFLOWED, ""}, 44 {SIG_OVERFLOWED, ""},
45 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 45 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
46 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 46 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
47 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 47 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
48 {NULL, NULL} 48 {NULL, NULL}
49}; 49};
50 50
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 588dd182c..e71bfcbbc 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -75,8 +75,8 @@ ELM_PRIV_GENGRID_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
75static const Evas_Smart_Cb_Description _smart_callbacks[] = { 75static const Evas_Smart_Cb_Description _smart_callbacks[] = {
76 ELM_PRIV_GENGRID_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) 76 ELM_PRIV_GENGRID_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
77 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 77 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
78 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 78 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
79 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 79 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
80 80
81 {NULL, NULL} 81 {NULL, NULL}
82}; 82};
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 2cf191abb..86e7efb8c 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -94,8 +94,8 @@ ELM_PRIV_GENLIST_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
94static const Evas_Smart_Cb_Description _smart_callbacks[] = { 94static const Evas_Smart_Cb_Description _smart_callbacks[] = {
95 ELM_PRIV_GENLIST_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) 95 ELM_PRIV_GENLIST_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
96 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 96 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
97 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 97 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
98 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 98 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
99 99
100 {NULL, NULL} 100 {NULL, NULL}
101}; 101};
diff --git a/src/lib/elm_hover.c b/src/lib/elm_hover.c
index 13196fc27..2857c86a4 100644
--- a/src/lib/elm_hover.c
+++ b/src/lib/elm_hover.c
@@ -50,8 +50,8 @@ ELM_PRIV_HOVER_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
50 50
51static const Evas_Smart_Cb_Description _smart_callbacks[] = { 51static const Evas_Smart_Cb_Description _smart_callbacks[] = {
52 ELM_PRIV_HOVER_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) 52 ELM_PRIV_HOVER_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
53 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 53 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
54 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 54 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
55 {NULL, NULL} 55 {NULL, NULL}
56}; 56};
57#undef ELM_PRIV_HOVER_SIGNALS 57#undef ELM_PRIV_HOVER_SIGNALS
diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c
index e7a1fe91c..e01253900 100644
--- a/src/lib/elm_index.c
+++ b/src/lib/elm_index.c
@@ -31,8 +31,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
31 {SIG_LEVEL_UP, ""}, 31 {SIG_LEVEL_UP, ""},
32 {SIG_LEVEL_DOWN, ""}, 32 {SIG_LEVEL_DOWN, ""},
33 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 33 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
34 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 34 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
35 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 35 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
36 {NULL, NULL} 36 {NULL, NULL}
37}; 37};
38 38
diff --git a/src/lib/elm_layout.c b/src/lib/elm_layout.c
index 4f10c3b7d..4fa8724de 100644
--- a/src/lib/elm_layout.c
+++ b/src/lib/elm_layout.c
@@ -15,10 +15,14 @@ EAPI Eo_Op ELM_OBJ_LAYOUT_BASE_ID = EO_NOOP;
15#define MY_CLASS_NAME_LEGACY "elm_layout" 15#define MY_CLASS_NAME_LEGACY "elm_layout"
16 16
17static const char SIG_THEME_CHANGED[] = "theme,changed"; 17static const char SIG_THEME_CHANGED[] = "theme,changed";
18const char SIG_LAYOUT_FOCUSED[] = "focused";
19const char SIG_LAYOUT_UNFOCUSED[] = "unfocused";
18 20
19/* smart callbacks coming from elm layout objects: */ 21/* smart callbacks coming from elm layout objects: */
20static const Evas_Smart_Cb_Description _smart_callbacks[] = { 22static const Evas_Smart_Cb_Description _smart_callbacks[] = {
21 {SIG_THEME_CHANGED, ""}, 23 {SIG_THEME_CHANGED, ""},
24 {SIG_LAYOUT_FOCUSED, ""},
25 {SIG_LAYOUT_UNFOCUSED, ""},
22 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 26 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
23 {NULL, NULL} 27 {NULL, NULL}
24}; 28};
@@ -392,20 +396,20 @@ _elm_layout_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
392 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 396 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
393 Eina_Bool *ret = va_arg(*list, Eina_Bool *); 397 Eina_Bool *ret = va_arg(*list, Eina_Bool *);
394 if (ret) *ret = EINA_FALSE; 398 if (ret) *ret = EINA_FALSE;
395 Eina_Bool int_ret = EINA_FALSE;
396 399
397 eo_do_super(obj, MY_CLASS, elm_wdg_on_focus(&int_ret)); 400 if (!elm_widget_can_focus_get(obj)) return;
398 if (!int_ret) return;
399 401
400 if (elm_widget_focus_get(obj)) 402 if (elm_widget_focus_get(obj))
401 { 403 {
402 elm_layout_signal_emit(obj, "elm,action,focus", "elm"); 404 elm_layout_signal_emit(obj, "elm,action,focus", "elm");
403 evas_object_focus_set(wd->resize_obj, EINA_TRUE); 405 evas_object_focus_set(wd->resize_obj, EINA_TRUE);
406 evas_object_smart_callback_call(obj, SIG_LAYOUT_FOCUSED, NULL);
404 } 407 }
405 else 408 else
406 { 409 {
407 elm_layout_signal_emit(obj, "elm,action,unfocus", "elm"); 410 elm_layout_signal_emit(obj, "elm,action,unfocus", "elm");
408 evas_object_focus_set(wd->resize_obj, EINA_FALSE); 411 evas_object_focus_set(wd->resize_obj, EINA_FALSE);
412 evas_object_smart_callback_call(obj, SIG_LAYOUT_UNFOCUSED, NULL);
409 } 413 }
410 414
411 if (ret) *ret = EINA_TRUE; 415 if (ret) *ret = EINA_TRUE;
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 487125603..a9281336d 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -43,8 +43,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
43 {SIG_HIGHLIGHTED, ""}, 43 {SIG_HIGHLIGHTED, ""},
44 {SIG_UNHIGHLIGHTED, ""}, 44 {SIG_UNHIGHLIGHTED, ""},
45 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 45 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
46 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 46 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
47 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 47 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
48 {NULL, NULL} 48 {NULL, NULL}
49}; 49};
50 50
diff --git a/src/lib/elm_panel.c b/src/lib/elm_panel.c
index 62cd4aa5b..060c82f52 100644
--- a/src/lib/elm_panel.c
+++ b/src/lib/elm_panel.c
@@ -15,8 +15,8 @@ EAPI Eo_Op ELM_OBJ_PANEL_BASE_ID = EO_NOOP;
15#define MY_CLASS_NAME_LEGACY "elm_panel" 15#define MY_CLASS_NAME_LEGACY "elm_panel"
16 16
17static const Evas_Smart_Cb_Description _smart_callbacks[] = { 17static const Evas_Smart_Cb_Description _smart_callbacks[] = {
18 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 18 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
19 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 19 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
20 {NULL, NULL} 20 {NULL, NULL}
21}; 21};
22 22
diff --git a/src/lib/elm_priv.h b/src/lib/elm_priv.h
index c20e5b198..889cd6561 100644
--- a/src/lib/elm_priv.h
+++ b/src/lib/elm_priv.h
@@ -493,6 +493,8 @@ extern const char *_elm_preferred_engine;
493extern const char SIG_WIDGET_FOCUSED[]; 493extern const char SIG_WIDGET_FOCUSED[];
494extern const char SIG_WIDGET_UNFOCUSED[]; 494extern const char SIG_WIDGET_UNFOCUSED[];
495extern const char SIG_WIDGET_LANG_CHANGED[]; 495extern const char SIG_WIDGET_LANG_CHANGED[];
496extern const char SIG_LAYOUT_FOCUSED[];
497extern const char SIG_LAYOUT_UNFOCUSED[];
496 498
497#ifdef ENABLE_NLS 499#ifdef ENABLE_NLS
498/* Our gettext wrapper, used to disable translation of elm if the app 500/* Our gettext wrapper, used to disable translation of elm if the app
diff --git a/src/lib/elm_progressbar.c b/src/lib/elm_progressbar.c
index 4915f47a9..724132315 100644
--- a/src/lib/elm_progressbar.c
+++ b/src/lib/elm_progressbar.c
@@ -25,8 +25,8 @@ static const char SIG_CHANGED[] = "changed";
25static const Evas_Smart_Cb_Description _smart_callbacks[] = { 25static const Evas_Smart_Cb_Description _smart_callbacks[] = {
26 {SIG_CHANGED, ""}, 26 {SIG_CHANGED, ""},
27 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 27 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
28 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 28 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
29 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 29 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
30 {NULL, NULL} 30 {NULL, NULL}
31}; 31};
32 32
diff --git a/src/lib/elm_radio.c b/src/lib/elm_radio.c
index a4f7594f5..c3739bfa9 100644
--- a/src/lib/elm_radio.c
+++ b/src/lib/elm_radio.c
@@ -31,8 +31,8 @@ static const char SIG_CHANGED[] = "changed";
31static const Evas_Smart_Cb_Description _smart_callbacks[] = { 31static const Evas_Smart_Cb_Description _smart_callbacks[] = {
32 {SIG_CHANGED, ""}, 32 {SIG_CHANGED, ""},
33 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 33 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
34 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 34 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
35 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 35 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
36 {NULL, NULL} 36 {NULL, NULL}
37}; 37};
38 38
diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c
index 410056a5b..9730f75a2 100644
--- a/src/lib/elm_scroller.c
+++ b/src/lib/elm_scroller.c
@@ -42,8 +42,8 @@ ELM_PRIV_SCROLLER_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
42 42
43static const Evas_Smart_Cb_Description _smart_callbacks[] = { 43static const Evas_Smart_Cb_Description _smart_callbacks[] = {
44 ELM_PRIV_SCROLLER_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC) 44 ELM_PRIV_SCROLLER_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
45 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 45 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
46 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 46 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
47 {NULL, NULL} 47 {NULL, NULL}
48}; 48};
49#undef ELM_PRIV_SCROLLER_SIGNALS 49#undef ELM_PRIV_SCROLLER_SIGNALS
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c
index ff9627aba..815126471 100644
--- a/src/lib/elm_slider.c
+++ b/src/lib/elm_slider.c
@@ -40,8 +40,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
40 {SIG_DRAG_START, ""}, 40 {SIG_DRAG_START, ""},
41 {SIG_DRAG_STOP, ""}, 41 {SIG_DRAG_STOP, ""},
42 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 42 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
43 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 43 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
44 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 44 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
45 {NULL, NULL} 45 {NULL, NULL}
46}; 46};
47 47
diff --git a/src/lib/elm_slideshow.c b/src/lib/elm_slideshow.c
index 35fdd52a9..1930a3691 100644
--- a/src/lib/elm_slideshow.c
+++ b/src/lib/elm_slideshow.c
@@ -21,8 +21,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
21 {SIG_CHANGED, ""}, 21 {SIG_CHANGED, ""},
22 {SIG_TRANSITION_END, ""}, 22 {SIG_TRANSITION_END, ""},
23 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 23 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
24 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 24 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
25 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 25 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
26 {NULL, NULL} 26 {NULL, NULL}
27}; 27};
28 28
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index 0271e025b..ee617f2dc 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -30,8 +30,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
30 {SIG_DRAG_START, ""}, 30 {SIG_DRAG_START, ""},
31 {SIG_DRAG_STOP, ""}, 31 {SIG_DRAG_STOP, ""},
32 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ 32 {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */
33 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 33 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
34 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 34 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
35 {NULL, NULL} 35 {NULL, NULL}
36}; 36};
37 37
diff --git a/src/lib/elm_video.c b/src/lib/elm_video.c
index 5416a6672..1e82a32d4 100644
--- a/src/lib/elm_video.c
+++ b/src/lib/elm_video.c
@@ -21,8 +21,8 @@ EAPI Eo_Op ELM_OBJ_VIDEO_BASE_ID = EO_NOOP;
21#define MY_CLASS_NAME_LEGACY "elm_video" 21#define MY_CLASS_NAME_LEGACY "elm_video"
22 22
23static const Evas_Smart_Cb_Description _smart_callbacks[] = { 23static const Evas_Smart_Cb_Description _smart_callbacks[] = {
24 {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */ 24 {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */
25 {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */ 25 {SIG_LAYOUT_UNFOCUSED, ""}, /**< handled by elm_layout */
26 {NULL, NULL} 26 {NULL, NULL}
27}; 27};
28 28