From 8c5c8ed82a9996cefeecadc99f349f440eb457de Mon Sep 17 00:00:00 2001 From: Ali Rostami <9710249+ali-rostami@users.noreply.github.com> Date: Sun, 19 May 2019 10:00:59 +0430 Subject: [PATCH 1/4] defining lv_group_remove_all_objs `lv_group_remove_all_objs` is a function for removing all objects from a group and making it free of objects. --- src/lv_core/lv_group.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/lv_core/lv_group.c b/src/lv_core/lv_group.c index fd5f25753..9a3cb6b35 100644 --- a/src/lv_core/lv_group.c +++ b/src/lv_core/lv_group.c @@ -193,6 +193,28 @@ void lv_group_remove_obj(lv_obj_t * obj) } } +/** + * remove all objects from a group + * @param group pointer to a group + */ +void lv_group_remove_all_objs(lv_group_t * group) +{ + /*Defocus the the currently focused object*/ + if(group->obj_focus != NULL) { + (*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_DEFOCUS, NULL); + lv_obj_invalidate(*group->obj_focus); + group->obj_focus = NULL; + } + + /*Remove the objects from the group*/ + lv_obj_t ** obj; + LV_LL_READ(group->obj_ll, obj) { + (*obj)->group_p = NULL; + } + + lv_ll_clear(&(group->obj_ll)); +} + /** * Focus on an object (defocus the current) * @param obj pointer to an object to focus on From 90b8bc95977748c5dabb5e06a761f2d7d4f2eebd Mon Sep 17 00:00:00 2001 From: Ali Rostami <9710249+ali-rostami@users.noreply.github.com> Date: Sun, 19 May 2019 10:03:57 +0430 Subject: [PATCH 2/4] declaring the `lv_group_remove_all_objs` function. --- src/lv_core/lv_group.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lv_core/lv_group.h b/src/lv_core/lv_group.h index 89d71ee8b..5fa8ce61d 100644 --- a/src/lv_core/lv_group.h +++ b/src/lv_core/lv_group.h @@ -113,6 +113,12 @@ void lv_group_add_obj(lv_group_t * group, lv_obj_t * obj); */ void lv_group_remove_obj(lv_obj_t * obj); +/** + * remove all objects from a group + * @param group pointer to a group + */ +void lv_group_remove_all_objs(lv_group_t * group); + /** * Focus on an object (defocus the current) * @param obj pointer to an object to focus on From 87979b5645444b23276fe417d9a5f17334710119 Mon Sep 17 00:00:00 2001 From: Ali Rostami <9710249+ali-rostami@users.noreply.github.com> Date: Sun, 19 May 2019 13:55:24 +0430 Subject: [PATCH 3/4] Update src/lv_core/lv_group.c Co-Authored-By: Gabor Kiss-Vamosi --- src/lv_core/lv_group.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lv_core/lv_group.c b/src/lv_core/lv_group.c index 9a3cb6b35..f71819672 100644 --- a/src/lv_core/lv_group.c +++ b/src/lv_core/lv_group.c @@ -194,7 +194,7 @@ void lv_group_remove_obj(lv_obj_t * obj) } /** - * remove all objects from a group + * Remove all objects from a group * @param group pointer to a group */ void lv_group_remove_all_objs(lv_group_t * group) From aed05f26e488b49a496e175db324f7e613fc5998 Mon Sep 17 00:00:00 2001 From: Ali Rostami <9710249+ali-rostami@users.noreply.github.com> Date: Sun, 19 May 2019 13:55:34 +0430 Subject: [PATCH 4/4] Update src/lv_core/lv_group.h Co-Authored-By: Gabor Kiss-Vamosi --- src/lv_core/lv_group.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lv_core/lv_group.h b/src/lv_core/lv_group.h index 5fa8ce61d..43bc8d12c 100644 --- a/src/lv_core/lv_group.h +++ b/src/lv_core/lv_group.h @@ -114,7 +114,7 @@ void lv_group_add_obj(lv_group_t * group, lv_obj_t * obj); void lv_group_remove_obj(lv_obj_t * obj); /** - * remove all objects from a group + * Remove all objects from a group * @param group pointer to a group */ void lv_group_remove_all_objs(lv_group_t * group);