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),
 

-- 


Reply via email to