elm_gen****: correctly return the focus parent

this was forgotten before. However, now the correct parents are returned
This is needed in order to have the child_focus property propagated
correctly accross the parent chain.

Differential Revision: https://phab.enlightenment.org/D7266
This commit is contained in:
Marcel Hollerbach 2018-11-13 16:34:17 +01:00
parent 25ac6d4fcc
commit 1524c94180
4 changed files with 16 additions and 0 deletions

View File

@ -5772,6 +5772,13 @@ _elm_gengrid_item_efl_ui_focus_object_prepare_logical_none_recursive(Eo *obj, El
efl_ui_focus_object_prepare_logical_none_recursive(efl_super(obj, ELM_GENGRID_ITEM_CLASS));
}
EOLIAN static Efl_Ui_Focus_Object*
_elm_gengrid_item_efl_ui_focus_object_focus_parent_get(const Eo *obj EINA_UNUSED, Elm_Gen_Item *pd)
{
return pd->base->widget;
}
/* Standard widget overrides */
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_gengrid, Elm_Gengrid_Data)

View File

@ -231,5 +231,6 @@ class Elm.Gengrid.Item(Elm.Widget.Item.Static_Focus, Efl.Ui.Focus.Object, Efl.Ui
Efl.Access.Object.i18n_name { get; }
Efl.Access.Object.state_set { get; }
Efl.Ui.Focus.Object.prepare_logical_none_recursive;
Efl.Ui.Focus.Object.focus_parent { get; }
}
}

View File

@ -8872,6 +8872,13 @@ _elm_genlist_efl_ui_widget_focus_state_apply(Eo *obj, Elm_Genlist_Data *pd EINA_
return efl_ui_widget_focus_state_apply(efl_super(obj, MY_CLASS), current_state, configured_state, obj);
}
EOLIAN static Efl_Ui_Focus_Object*
_elm_genlist_item_efl_ui_focus_object_focus_parent_get(const Eo *obj EINA_UNUSED, Elm_Gen_Item *pd)
{
if (!pd->item->block) return NULL;
return pd->item->block->adapter;
}
/* Standard widget overrides */
ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_genlist, Elm_Genlist_Data)

View File

@ -432,5 +432,6 @@ class Elm.Genlist.Item(Elm.Widget.Item.Static_Focus, Efl.Ui.Legacy)
Efl.Access.Object.i18n_name { get; }
Efl.Access.Object.state_set { get; }
Efl.Ui.Focus.Object.prepare_logical_none_recursive;
Efl.Ui.Focus.Object.focus_parent { get; }
}
}