elm_object_focus_set(item->eo, EINA_TRUE);
}
-static void _set_circular_focus(struct _cbar_data *bar)
-{
- struct _cbar_item *first_item, *last_item;
- int count;
-
- if (!bar || !bar->list) {
- _ERR("Invalid argument");
- return;
- }
-
- count = eina_list_count(bar->list);
- if (count <= 1)
- return;
-
- first_item = (struct _cbar_item *)eina_list_nth(bar->list, 0);
- if (!first_item || !first_item->eo)
- return;
-
- last_item = (struct _cbar_item *)eina_list_nth(bar->list, count - 1);
- if (!last_item || !last_item->eo)
- return;
-
- elm_object_focus_next_object_set(first_item->eo, last_item->eo,
- ELM_FOCUS_UP);
- elm_object_focus_next_object_set(last_item->eo, first_item->eo,
- ELM_FOCUS_DOWN);
-}
-
static int _update(struct bar_info *info, void *eng, void *data)
{
struct _cbar_data *bar;
cnt++;
}
- _set_circular_focus(bar);
-
engine->SetUpdateCallback(_update_pin, info);
bar->eng = engine;
return item;
}
-static void _set_circular_focus(struct _dbar_data *bar)
-{
- struct _dbar_item *first_item, *last_item;
- int count;
-
- if (!bar || !bar->list) {
- _ERR("Invalid argument");
- return;
- }
-
- count = eina_list_count(bar->list);
- if (count <= 2)
- return;
-
- first_item = (struct _dbar_item *)eina_list_nth(bar->list, 1);
- if (!first_item || !first_item->eo)
- return;
-
- last_item = (struct _dbar_item *)eina_list_nth(bar->list, count - 1);
- if (!last_item || !last_item->eo)
- return;
-
- elm_object_focus_next_object_set(first_item->eo, last_item->eo,
- ELM_FOCUS_UP);
- elm_object_focus_next_object_set(last_item->eo, first_item->eo,
- ELM_FOCUS_DOWN);
-}
-
static int _update(struct bar_info *info, void *eng, void *data)
{
struct _dbar_data *bar;
return EINA_FALSE;
}
- _set_circular_focus(bar);
-
elm_object_focus_set(item->eo, EINA_TRUE);
return EINA_TRUE;
elm_object_focus_set(item->eo, EINA_TRUE);
}
-static void _set_circular_focus(struct _hbar_data *bar)
-{
- struct _hbar_item *last_item;
- Evas_Object *user;
- int count;
-
- if (!bar || !bar->list) {
- _ERR("Invalid argument");
- return;
- }
-
- count = eina_list_count(bar->list);
- if (count <= 1)
- return;
-
- last_item = (struct _hbar_item *)eina_list_nth(bar->list, count - 1);
- if (!last_item || !last_item->eo)
- return;
-
- user = elm_object_part_content_get(bar->ly, PART_USER);
- if (!user) {
- _ERR("failed to get user");
- return;
- }
-
- elm_object_focus_next_object_set(last_item->eo, user, ELM_FOCUS_DOWN);
- elm_object_focus_next_object_set(user, last_item->eo, ELM_FOCUS_UP);
-}
-
static int _update(struct bar_info *info, void *eng, void *data)
{
struct _hbar_data *bar;
cnt++;
}
- _set_circular_focus(bar);
-
r = bar->ubar->ops->update(bar->ubar, eng, NULL);
if (r < 0)
return -1;
bar->arrow = ly;
}
-static void _set_circular_focus(struct _ubar_data *bar)
-{
- struct _ubar_item *first_item, *last_item;
- int count;
-
- ASSERT(bar);
- ASSERT(bar->list);
-
- count = eina_list_count(bar->list);
- if (count <= 1)
- return;
-
- first_item = (struct _ubar_item *)eina_list_nth(bar->list, 0);
- if (!first_item || !first_item->eo)
- return;
-
- last_item = (struct _ubar_item *)eina_list_nth(bar->list, count - 1);
- if (!last_item || !last_item->eo)
- return;
-
- elm_object_focus_next_object_set(last_item->eo, first_item->eo,
- ELM_FOCUS_RIGHT);
-}
-
static int _update_items(struct _ubar_data *bar, void *eng)
{
const Eina_List *list;
}
_pack_arrow(bar, eina_list_count(bar->list));
- _set_circular_focus(bar);
elm_object_focus_allow_set(bar->user->eo, EINA_TRUE);
evas_object_focus_set(bar->user->eo, EINA_TRUE);