Give focus capabilities to elm_plug widget.

This commit is contained in:
Gustavo Lima Chaves 2013-12-26 13:11:25 -02:00
parent 974f30f558
commit 005986cce7
1 changed files with 28 additions and 0 deletions

View File

@ -58,6 +58,31 @@ _elm_plug_resized(Ecore_Evas *ee)
evas_object_smart_callback_call(plug, SIG_IMAGE_RESIZED, &size);
}
static void
_elm_plug_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
{
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
Eina_Bool int_ret = EINA_FALSE;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
if (ret) *ret = EINA_FALSE;
eo_do_super(obj, MY_CLASS, elm_wdg_on_focus(&int_ret));
if (!int_ret) return;
if (elm_widget_focus_get(obj))
{
evas_object_focus_set(wd->resize_obj, EINA_TRUE);
}
else
{
evas_object_focus_set(wd->resize_obj, EINA_FALSE);
}
if (ret) *ret = EINA_TRUE;
}
static void
_elm_plug_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
{
@ -198,6 +223,9 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_THEME), _elm_plug_smart_theme),
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ON_FOCUS),
_elm_plug_smart_on_focus),
EO_OP_FUNC(ELM_OBJ_PLUG_ID(ELM_OBJ_PLUG_SUB_ID_IMAGE_OBJECT_GET), _image_object_get),
EO_OP_FUNC(ELM_OBJ_PLUG_ID(ELM_OBJ_PLUG_SUB_ID_CONNECT), _connect),