static Eina_Bool _elm_gengrid_smart_focus_next_enable = EINA_FALSE;
-EOLIAN static Eina_Bool
-_elm_gengrid_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *_pd EINA_UNUSED)
-{
- return _elm_gengrid_smart_focus_next_enable;
-}
-
-EOLIAN static Eina_Bool
-_elm_gengrid_elm_widget_focus_next(Eo *obj, Elm_Gengrid_Data *sd, Elm_Focus_Direction dir, Evas_Object **next, Elm_Object_Item **next_item)
-{
- Eina_List *items = NULL;
- Elm_Gen_Item *it;
-
- EINA_INLIST_FOREACH(sd->items, it)
- {
- if (it->realized)
- items = eina_list_append(items, it->base->access_obj);
- }
-
- return elm_widget_focus_list_next_get
- (obj, items, eina_list_data_get, dir, next, next_item);
-}
-
-EOLIAN static Eina_Bool
-_elm_gengrid_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *_pd EINA_UNUSED)
-{
- return EINA_TRUE;
-}
-
-EOLIAN static Eina_Bool
-_elm_gengrid_elm_widget_focus_direction(Eo *obj, Elm_Gengrid_Data *sd EINA_UNUSED, const Evas_Object *base, double degree, Evas_Object **direction, Elm_Object_Item **direction_item, double *weight)
-{
- Eina_List *items = NULL, *l = NULL;
- Elm_Object_Item *eo_item = NULL;
- Eina_Bool ret = EINA_FALSE;
- double c_weight = 0.0;
-
- items = elm_gengrid_realized_items_get(obj);
- eo_item = elm_object_focused_item_get(base);
- if (eo_item)
- {
- ELM_GENGRID_ITEM_DATA_GET(eo_item, base_item);
- base = VIEW(base_item);
- }
-
- EINA_LIST_FOREACH(items, l, eo_item)
- {
- ELM_GENGRID_ITEM_DATA_GET(eo_item, item);
-
- c_weight = _elm_widget_focus_direction_weight_get(base, VIEW(item), degree);
- if ((c_weight == -1.0) ||
- ((c_weight != 0.0) && (*weight != -1.0) &&
- ((int)(*weight * 100000000) < (int)(c_weight * 100000000))))
- {
- *direction = (Evas_Object *)obj;
- *direction_item = eo_item;
- *weight = c_weight;
- ret = EINA_TRUE;
- }
- }
- eina_list_free(items);
-
- return ret;
-}
-
static void
_mirrored_set(Evas_Object *obj,
Eina_Bool rtl)