elementary/elm_widget : add focus_disabled_handle.
authorwoohyun <woohyun@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 12 Jul 2011 08:22:16 +0000 (08:22 +0000)
committerwoohyun <woohyun@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 12 Jul 2011 08:22:16 +0000 (08:22 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@61270 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_widget.c
src/lib/elm_widget.h

index 9a65f01..dc58c27 100644 (file)
@@ -1806,25 +1806,7 @@ elm_widget_disabled_set(Evas_Object *obj,
 
    if (sd->disabled == disabled) return;
    sd->disabled = !!disabled;
-   if (sd->focused)
-     {
-        Evas_Object *o, *parent;
-        parent = obj;
-        o = elm_widget_parent_get(parent);
-        if (!o)
-          elm_widget_focused_object_clear(parent);
-        else
-          {
-             parent = o;
-             for (;;)
-               {
-                  o = elm_widget_parent_get(parent);
-                  if (!o) break;
-                  parent = o;
-               }
-             elm_widget_focus_cycle(parent, ELM_FOCUS_NEXT);
-          }
-     }
+   elm_widget_focus_disabled_handle(obj);
    if (sd->disable_func) sd->disable_func(obj);
 }
 
@@ -2290,6 +2272,17 @@ elm_widget_focus_mouse_down_handle(Evas_Object *obj)
    elm_widget_focus_steal(o);
 }
 
+EAPI void
+elm_widget_focus_disabled_handle(Evas_Object *obj)
+{
+   API_ENTRY return;
+
+   if (!elm_widget_parent_get(obj))
+     elm_widget_focused_object_clear(obj);
+   else
+     _if_focused_revert(obj, EINA_TRUE);
+}
+
 /**
  * @internal
  *
index 9d10f37..523ba25 100644 (file)
@@ -310,6 +310,7 @@ EAPI Eina_List       *elm_widget_stringlist_get(const char *str);
 EAPI void             elm_widget_stringlist_free(Eina_List *list);
 EAPI void             elm_widget_focus_hide_handle(Evas_Object *obj);
 EAPI void             elm_widget_focus_mouse_down_handle(Evas_Object *obj);
+EAPI void             elm_widget_focus_disabled_handle(Evas_Object *obj);
 EAPI void             elm_widget_text_part_set(Evas_Object *obj, const char *item, const char *label);
 EAPI const char      *elm_widget_text_part_get(const Evas_Object *obj, const char *item);