From 466e1f989f5c320675facbfde099d0cc5e53071a Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 29 Nov 2023 17:51:26 +0000 Subject: [PATCH] New variable_item_list_get() API --- .../services/gui/modules/variable_item_list.c | 17 +++++++++++++++++ .../services/gui/modules/variable_item_list.h | 9 +++++++++ targets/f7/api_symbols.csv | 1 + 3 files changed, 27 insertions(+) diff --git a/applications/services/gui/modules/variable_item_list.c b/applications/services/gui/modules/variable_item_list.c index 736fe0975..25e4f39fe 100644 --- a/applications/services/gui/modules/variable_item_list.c +++ b/applications/services/gui/modules/variable_item_list.c @@ -543,6 +543,23 @@ VariableItem* variable_item_list_add( return item; } +VariableItem* variable_item_list_get(VariableItemList* variable_item_list, uint8_t position) { + VariableItem* item = NULL; + furi_assert(variable_item_list); + + with_view_model( + variable_item_list->view, + VariableItemListModel * model, + { + if(position < VariableItemArray_size(model->items)) { + item = VariableItemArray_get(model->items, position); + } + }, + true); + + return item; +} + void variable_item_list_set_enter_callback( VariableItemList* variable_item_list, VariableItemListEnterCallback callback, diff --git a/applications/services/gui/modules/variable_item_list.h b/applications/services/gui/modules/variable_item_list.h index 4079e5a5f..c5bb3628b 100644 --- a/applications/services/gui/modules/variable_item_list.h +++ b/applications/services/gui/modules/variable_item_list.h @@ -59,6 +59,15 @@ VariableItem* variable_item_list_add( VariableItemChangeCallback change_callback, void* context); +/** Get item in VariableItemList + * + * @param variable_item_list VariableItemList instance + * @param position index of the item to get + * + * @return VariableItem* item instance + */ +VariableItem* variable_item_list_get(VariableItemList* variable_item_list, uint8_t position); + /** Set enter callback * * @param variable_item_list VariableItemList instance diff --git a/targets/f7/api_symbols.csv b/targets/f7/api_symbols.csv index 7fc97ca09..1c7a8f8b4 100644 --- a/targets/f7/api_symbols.csv +++ b/targets/f7/api_symbols.csv @@ -3239,6 +3239,7 @@ Function,+,variable_item_get_current_value_index,uint8_t,VariableItem* Function,+,variable_item_list_add,VariableItem*,"VariableItemList*, const char*, uint8_t, VariableItemChangeCallback, void*" Function,+,variable_item_list_alloc,VariableItemList*, Function,+,variable_item_list_free,void,VariableItemList* +Function,+,variable_item_list_get,VariableItem*,"VariableItemList*, uint8_t" Function,+,variable_item_list_get_selected_item_index,uint8_t,VariableItemList* Function,+,variable_item_list_get_view,View*,VariableItemList* Function,+,variable_item_list_reset,void,VariableItemList*