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);
}
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
*
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);