glima pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=186da989b4988b3e09d35fec409484ec8912c829
commit 186da989b4988b3e09d35fec409484ec8912c829 Author: Gustavo Lima Chaves <[email protected]> Date: Thu Dec 26 13:11:25 2013 -0200 Give focus capabilities to elm_plug widget. --- src/lib/elm_plug.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/lib/elm_plug.c b/src/lib/elm_plug.c index 7bf1bd6..4e911b0 100644 --- a/src/lib/elm_plug.c +++ b/src/lib/elm_plug.c @@ -59,6 +59,31 @@ _elm_plug_resized(Ecore_Evas *ee) } 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) { Eina_Bool *ret = va_arg(*list, Eina_Bool *); @@ -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), --
