elm_menu: implement provider_find to walk the parent relation

it turns out elm_menu is special, it doesnt use parent_obj of
elm_widget, it has his own parent field, which should be used.
This commit is contained in:
Marcel Hollerbach 2017-10-15 19:29:08 +02:00
parent 79c93db365
commit ac703d8229
2 changed files with 15 additions and 0 deletions

View File

@ -1506,6 +1506,20 @@ _elm_menu_efl_access_selection_selected_child_get(Eo *obj EINA_UNUSED, Elm_Menu_
}
EOLIAN static Efl_Object*
_elm_menu_efl_object_provider_find(Eo *obj, Elm_Menu_Data *pd, const Efl_Object *klass)
{
Efl_Object *result;
result = efl_provider_find(pd->parent, klass);
if (result) return result;
return efl_provider_find(efl_super(obj, MY_CLASS), klass);
}
/* Internal EO APIs and hidden overrides */
#define ELM_MENU_EXTRA_OPS \

View File

@ -68,6 +68,7 @@ class Elm.Menu (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Menu,
Efl.Ui.Menu.first_item { get; }
Efl.Ui.Menu.last_item { get; }
Efl.Ui.Menu.items { get; }
Efl.Object.provider_find;
}
events {
dismissed; [[Called when menu widget was dismissed]]