lv_group.h
Typedefs
-
typedef void (*lv_group_focus_cb_t)(lv_group_t*)
-
typedef void (*lv_group_edge_cb_t)(lv_group_t*, bool)
Enums
-
enum lv_key_t
Predefined keys to control which Widget has focus via lv_group_send(group, c)
Values:
-
enumerator LV_KEY_UP
-
enumerator LV_KEY_DOWN
-
enumerator LV_KEY_RIGHT
-
enumerator LV_KEY_LEFT
-
enumerator LV_KEY_ESC
-
enumerator LV_KEY_DEL
-
enumerator LV_KEY_BACKSPACE
-
enumerator LV_KEY_ENTER
-
enumerator LV_KEY_NEXT
-
enumerator LV_KEY_PREV
-
enumerator LV_KEY_HOME
-
enumerator LV_KEY_END
-
enumerator LV_KEY_UP
Functions
-
lv_group_t *lv_group_create(void)
Create new Widget group.
- Returns:
pointer to the new Widget group
-
void lv_group_delete(lv_group_t *group)
Delete group object.
- Parameters:
group – pointer to a group
-
void lv_group_set_default(lv_group_t *group)
Set default group. New Widgets will be added to this group if it's enabled in their class with
add_to_def_group = true
.- Parameters:
group – pointer to a group (can be
NULL
)
-
lv_group_t *lv_group_get_default(void)
Get default group.
- Returns:
pointer to the default group
-
void lv_group_add_obj(lv_group_t *group, lv_obj_t *obj)
Add an Widget to group.
- Parameters:
group – pointer to a group
obj – pointer to a Widget to add
-
void lv_group_swap_obj(lv_obj_t *obj1, lv_obj_t *obj2)
Swap 2 Widgets in group. Widgets must be in the same group.
- Parameters:
obj1 – pointer to a Widget
obj2 – pointer to another Widget
-
void lv_group_remove_obj(lv_obj_t *obj)
Remove a Widget from its group.
- Parameters:
obj – pointer to Widget to remove
-
void lv_group_remove_all_objs(lv_group_t *group)
Remove all Widgets from a group.
- Parameters:
group – pointer to a group
-
void lv_group_focus_obj(lv_obj_t *obj)
Focus on a Widget (defocus the current).
- Parameters:
obj – pointer to Widget to focus on
-
void lv_group_focus_next(lv_group_t *group)
Focus on next Widget in a group (defocus the current).
- Parameters:
group – pointer to a group
-
void lv_group_focus_prev(lv_group_t *group)
Focus on previous Widget in a group (defocus the current).
- Parameters:
group – pointer to a group
-
void lv_group_focus_freeze(lv_group_t *group, bool en)
Do not allow changing focus from current Widget.
- Parameters:
group – pointer to a group
en – true: freeze, false: release freezing (normal mode)
-
lv_result_t lv_group_send_data(lv_group_t *group, uint32_t c)
Send a control character to Widget that has focus in a group.
- Parameters:
group – pointer to a group
c – a character (use LV_KEY_.. to navigate)
- Returns:
result of Widget with focus in group.
-
void lv_group_set_focus_cb(lv_group_t *group, lv_group_focus_cb_t focus_cb)
Set a function for a group which will be called when a new Widget has focus.
- Parameters:
group – pointer to a group
focus_cb – the call back function or NULL if unused
-
void lv_group_set_edge_cb(lv_group_t *group, lv_group_edge_cb_t edge_cb)
Set a function for a group which will be called when a focus edge is reached
- Parameters:
group – pointer to a group
edge_cb – the call back function or NULL if unused
-
void lv_group_set_refocus_policy(lv_group_t *group, lv_group_refocus_policy_t policy)
Set whether the next or previous Widget in a group gets focus when Widget that has focus is deleted.
- Parameters:
group – pointer to a group
policy – new refocus policy enum
-
void lv_group_set_editing(lv_group_t *group, bool edit)
Manually set the current mode (edit or navigate).
- Parameters:
group – pointer to group
edit – true: edit mode; false: navigate mode
-
void lv_group_set_wrap(lv_group_t *group, bool en)
Set whether moving focus to next/previous Widget will allow wrapping from first->last or last->first Widget.
- Parameters:
group – pointer to group
en – true: wrapping enabled; false: wrapping disabled
-
lv_obj_t *lv_group_get_focused(const lv_group_t *group)
Get Widget that has focus, or NULL if there isn't one.
- Parameters:
group – pointer to a group
- Returns:
pointer to Widget with focus
-
lv_group_focus_cb_t lv_group_get_focus_cb(const lv_group_t *group)
Get focus callback function of a group.
- Parameters:
group – pointer to a group
- Returns:
the call back function or NULL if not set
-
lv_group_edge_cb_t lv_group_get_edge_cb(const lv_group_t *group)
Get edge callback function of a group.
- Parameters:
group – pointer to a group
- Returns:
the call back function or NULL if not set
-
bool lv_group_get_editing(const lv_group_t *group)
Get current mode (edit or navigate).
- Parameters:
group – pointer to group
- Returns:
true: edit mode; false: navigate mode
-
bool lv_group_get_wrap(lv_group_t *group)
Get whether moving focus to next/previous Widget will allow wrapping from first->last or last->first Widget.
- Parameters:
group – pointer to group
-
uint32_t lv_group_get_obj_count(lv_group_t *group)
Get number of Widgets in group.
- Parameters:
group – pointer to a group
- Returns:
number of Widgets in the group
-
lv_obj_t *lv_group_get_obj_by_index(lv_group_t *group, uint32_t index)
Get nth Widget within group.
- Parameters:
group – pointer to a group
index – index of Widget within the group
- Returns:
pointer to Widget
-
uint32_t lv_group_get_count(void)
Get the number of groups.
- Returns:
number of groups
-
lv_group_t *lv_group_by_index(uint32_t index)
Get a group by its index.
- Parameters:
index – index of the group
- Returns:
pointer to the group