mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-12 16:28:36 -07:00
Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild
This commit is contained in:
@@ -138,7 +138,8 @@ void elements_multiline_text_aligned(
|
||||
/** Draw multiline text
|
||||
*
|
||||
* @param canvas Canvas instance
|
||||
* @param x, y top left corner coordinates
|
||||
* @param x top left corner coordinates
|
||||
* @param y top left corner coordinates
|
||||
* @param text string (possible multiline)
|
||||
*/
|
||||
void elements_multiline_text(Canvas* canvas, int32_t x, int32_t y, const char* text);
|
||||
@@ -146,7 +147,8 @@ void elements_multiline_text(Canvas* canvas, int32_t x, int32_t y, const char* t
|
||||
/** Draw framed multiline text
|
||||
*
|
||||
* @param canvas Canvas instance
|
||||
* @param x, y top left corner coordinates
|
||||
* @param x top left corner coordinates
|
||||
* @param y top left corner coordinates
|
||||
* @param text string (possible multiline)
|
||||
*/
|
||||
void elements_multiline_text_framed(Canvas* canvas, int32_t x, int32_t y, const char* text);
|
||||
@@ -154,8 +156,10 @@ void elements_multiline_text_framed(Canvas* canvas, int32_t x, int32_t y, const
|
||||
/** Draw slightly rounded frame
|
||||
*
|
||||
* @param canvas Canvas instance
|
||||
* @param x, y top left corner coordinates
|
||||
* @param width, height size of frame
|
||||
* @param x top left corner coordinates
|
||||
* @param y top left corner coordinates
|
||||
* @param width width of frame
|
||||
* @param height height of frame
|
||||
*/
|
||||
void elements_slightly_rounded_frame(
|
||||
Canvas* canvas,
|
||||
@@ -167,8 +171,10 @@ void elements_slightly_rounded_frame(
|
||||
/** Draw slightly rounded box
|
||||
*
|
||||
* @param canvas Canvas instance
|
||||
* @param x, y top left corner coordinates
|
||||
* @param width, height size of box
|
||||
* @param x top left corner coordinates
|
||||
* @param y top left corner coordinates
|
||||
* @param width height of box
|
||||
* @param height height of box
|
||||
*/
|
||||
void elements_slightly_rounded_box(
|
||||
Canvas* canvas,
|
||||
@@ -180,8 +186,10 @@ void elements_slightly_rounded_box(
|
||||
/** Draw bold rounded frame
|
||||
*
|
||||
* @param canvas Canvas instance
|
||||
* @param x, y top left corner coordinates
|
||||
* @param width, height size of frame
|
||||
* @param x top left corner coordinates
|
||||
* @param y top left corner coordinates
|
||||
* @param width width of frame
|
||||
* @param height height of frame
|
||||
*/
|
||||
void elements_bold_rounded_frame(Canvas* canvas, int32_t x, int32_t y, size_t width, size_t height);
|
||||
|
||||
|
||||
@@ -311,6 +311,26 @@ void submenu_add_lockable_item(
|
||||
true);
|
||||
}
|
||||
|
||||
void submenu_change_item_label(Submenu* submenu, uint32_t index, const char* label) {
|
||||
furi_check(submenu);
|
||||
furi_check(label);
|
||||
|
||||
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) {
|
||||
furi_string_set_str(SubmenuItemArray_cref(it)->label, label);
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
true);
|
||||
}
|
||||
|
||||
void submenu_reset(Submenu* submenu) {
|
||||
furi_check(submenu);
|
||||
view_set_orientation(submenu->view, ViewOrientationHorizontal);
|
||||
@@ -328,6 +348,25 @@ void submenu_reset(Submenu* submenu) {
|
||||
true);
|
||||
}
|
||||
|
||||
uint32_t submenu_get_selected_item(Submenu* submenu) {
|
||||
furi_check(submenu);
|
||||
|
||||
uint32_t selected_item_index = 0;
|
||||
|
||||
with_view_model(
|
||||
submenu->view,
|
||||
SubmenuModel * model,
|
||||
{
|
||||
if(model->position < SubmenuItemArray_size(model->items)) {
|
||||
const SubmenuItem* item = SubmenuItemArray_cget(model->items, model->position);
|
||||
selected_item_index = item->index;
|
||||
}
|
||||
},
|
||||
false);
|
||||
|
||||
return selected_item_index;
|
||||
}
|
||||
|
||||
void submenu_set_selected_item(Submenu* submenu, uint32_t index) {
|
||||
furi_check(submenu);
|
||||
with_view_model(
|
||||
|
||||
@@ -53,6 +53,14 @@ void submenu_add_item(
|
||||
SubmenuItemCallback callback,
|
||||
void* callback_context);
|
||||
|
||||
/** Change label of an existing item
|
||||
*
|
||||
* @param submenu Submenu instance
|
||||
* @param index The index of the item
|
||||
* @param label The new label
|
||||
*/
|
||||
void submenu_change_item_label(Submenu* submenu, uint32_t index, const char* label);
|
||||
|
||||
/** Add lockable item to submenu
|
||||
*
|
||||
* @param submenu Submenu instance
|
||||
@@ -79,10 +87,18 @@ void submenu_add_lockable_item(
|
||||
*/
|
||||
void submenu_reset(Submenu* submenu);
|
||||
|
||||
/** Set submenu item selector
|
||||
/** Get submenu selected item index
|
||||
*
|
||||
* @param submenu Submenu instance
|
||||
* @param index The index
|
||||
*
|
||||
* @return Index of the selected item
|
||||
*/
|
||||
uint32_t submenu_get_selected_item(Submenu* submenu);
|
||||
|
||||
/** Set submenu selected item by index
|
||||
*
|
||||
* @param submenu Submenu instance
|
||||
* @param index The index of the selected item
|
||||
*/
|
||||
void submenu_set_selected_item(Submenu* submenu, uint32_t index);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user