GUI: Add submenu_remove_item()

This commit is contained in:
Willy-JL
2025-03-21 05:08:29 +00:00
parent f01972ea71
commit 5ed0dc2066
3 changed files with 28 additions and 0 deletions

View File

@@ -235,6 +235,25 @@ void submenu_change_item_label(Submenu* submenu, uint32_t index, const char* lab
true);
}
void submenu_remove_item(Submenu* submenu, uint32_t index) {
furi_check(submenu);
with_view_model(
submenu->view,
SubmenuModel * model,
{
SubmenuItemArray_it_t it;
for(SubmenuItemArray_it(it, model->items); !SubmenuItemArray_end_p(it);
SubmenuItemArray_next(it)) {
if(index == SubmenuItemArray_cref(it)->index) {
SubmenuItemArray_remove(model->items, it);
break;
}
}
},
true);
}
void submenu_reset(Submenu* submenu) {
furi_check(submenu);

View File

@@ -61,6 +61,14 @@ void submenu_add_item(
*/
void submenu_change_item_label(Submenu* submenu, uint32_t index, const char* label);
/** Remove item from submenu
*
* @param submenu Submenu instance
* @param index menu item index, used for callback, may be
* the same with other items, first one is removed
*/
void submenu_remove_item(Submenu* submenu, uint32_t index);
/** Remove all items from submenu
*
* @param submenu Submenu instance

View File

@@ -3582,6 +3582,7 @@ Function,+,submenu_change_item_label,void,"Submenu*, uint32_t, const char*"
Function,+,submenu_free,void,Submenu*
Function,+,submenu_get_selected_item,uint32_t,Submenu*
Function,+,submenu_get_view,View*,Submenu*
Function,+,submenu_remove_item,void,"Submenu*, uint32_t"
Function,+,submenu_reset,void,Submenu*
Function,+,submenu_set_header,void,"Submenu*, const char*"
Function,+,submenu_set_selected_item,void,"Submenu*, uint32_t"
1 entry status name type params
3582 Function + submenu_free void Submenu*
3583 Function + submenu_get_selected_item uint32_t Submenu*
3584 Function + submenu_get_view View* Submenu*
3585 Function + submenu_remove_item void Submenu*, uint32_t
3586 Function + submenu_reset void Submenu*
3587 Function + submenu_set_header void Submenu*, const char*
3588 Function + submenu_set_selected_item void Submenu*, uint32_t