Now, it will share the strings so that reduce the binary size also user uses it in one way.
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
ELM_PRIV_CTXPOPUP_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
#undef ELM_PRIV_CTXPOPUP_SIGNALS
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
ELM_PRIV_FILESELECTOR_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
#undef ELM_PRIV_FILESELECTOR_SIGNALS
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
#undef ELM_PRIV_FILESELECTOR_BUTTON_SIGNALS
{SIG_TRANSITION_FINISHED, ""},
{SIG_TITLE_TRANSITION_FINISHED, ""},
{SIG_TITLE_CLICKED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{ SIG_EJECT_CLICKED, "" },
{ SIG_VOLUME_CLICKED, "" },
{ SIG_MUTE_CLICKED, "" },
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ { SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ { SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{ NULL, NULL }
};
{SIG_BLOCK_CLICKED, ""},
{SIG_TIMEOUT, ""},
{SIG_LANG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] =
{
{SIG_CLICKED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_REPEATED, ""},
{SIG_PRESSED, ""},
{SIG_UNPRESSED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
{SIG_DISPLAY_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
/* smart callbacks coming from elm check objects: */
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_COLOR_ITEM_SELECTED, ""},
{SIG_COLOR_ITEM_LONGPRESSED, ""},
{SIG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
{SIG_LANG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_SCROLL_ANIM_STOP, ""},
{SIG_SCROLL_DRAG_START, ""},
{SIG_SCROLL_DRAG_STOP, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_SELECTED, ""},
{SIG_UNDERFLOWED, ""},
{SIG_OVERFLOWED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
ELM_PRIV_GENGRID_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
ELM_PRIV_GENLIST_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
ELM_PRIV_HOVER_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
#undef ELM_PRIV_HOVER_SIGNALS
{SIG_LEVEL_UP, ""},
{SIG_LEVEL_DOWN, ""},
{SIG_LANG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_SWIPE, ""},
{SIG_HIGHLIGHTED, ""},
{SIG_UNHIGHLIGHTED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_OVERLAY_CLICKED, ""},
{SIG_OVERLAY_DEL, ""},
{SIG_LANG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
#define MY_CLASS_NAME_LEGACY "elm_panel"
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_DOWNLOAD_PROGRESS, ""},
{SIG_DOWNLOAD_DONE, ""},
{SIG_DOWNLOAD_ERROR, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
extern Eina_List *_elm_win_list;
extern int _elm_win_deferred_free;
extern const char *_elm_preferred_engine;
+extern const char SIG_WIDGET_FOCUSED[];
+extern const char SIG_WIDGET_UNFOCUSED[];
#ifdef ENABLE_NLS
/* Our gettext wrapper, used to disable translation of elm if the app
* ones coming from elm layout): */
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const char SIG_CHANGED[] = "changed";
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
ELM_PRIV_SCROLLER_SIGNALS(ELM_PRIV_SMART_CALLBACKS_DESC)
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
#undef ELM_PRIV_SCROLLER_SIGNALS
{SIG_DELAY_CHANGED, ""},
{SIG_DRAG_START, ""},
{SIG_DRAG_STOP, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
{SIG_TRANSITION_END, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_LANG_CHANGED, ""},
{SIG_DRAG_START, ""},
{SIG_DRAG_STOP, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{SIG_LONGPRESSED, ""},
{SIG_CLICKED_DOUBLE, ""},
{SIG_LANG_CHANGED, ""},
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
#define MY_CLASS_NAME_LEGACY "elm_video"
static const Evas_Smart_Cb_Description _smart_callbacks[] = {
- {"focused", ""}, /**< handled by elm_widget */
- {"unfocused", ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ {SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{NULL, NULL}
};
{ "view,resized", "" },
{ "windows,close,request", ""},
{ "zoom,animated,end", "" },
- { "focused", ""}, /**< handled by elm_widget */
- { "unfocused", ""}, /**< handled by elm_widget */
+ { SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ { SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{ NULL, NULL }
};
static const Evas_Smart_Cb_Description _elm_web_smart_callbacks[] = {
{ SIG_URI_CHANGED, "s" },
{ SIG_URL_CHANGED, "s" },
- { "focused", ""}, /**< handled by elm_widget */
- { "unfocused", ""}, /**< handled by elm_widget */
+ { SIG_WIDGET_FOCUSED, ""}, /**< handled by elm_widget */
+ { SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
{ NULL, NULL }
};
((_elm_access_auto_highlight_get()) ? (elm_widget_highlight_get(obj)) : \
(elm_widget_focus_get(obj)))
+const char SIG_WIDGET_FOCUSED[] = "focused";
+const char SIG_WIDGET_UNFOCUSED[] = "unfocused";
+
typedef struct _Elm_Event_Cb_Data Elm_Event_Cb_Data;
typedef struct _Elm_Label_Data Elm_Label_Data;
typedef struct _Elm_Translate_String_Data Elm_Translate_String_Data;
{
if (!sd->resize_obj)
evas_object_focus_set(obj, EINA_TRUE);
- evas_object_smart_callback_call(obj, "focused", NULL);
+ evas_object_smart_callback_call(obj, SIG_WIDGET_FOCUSED, NULL);
}
else
{
if (!sd->resize_obj)
evas_object_focus_set(obj, EINA_FALSE);
- evas_object_smart_callback_call(obj, "unfocused", NULL);
+ evas_object_smart_callback_call(obj, SIG_WIDGET_UNFOCUSED, NULL);
}
}
else