diff --git a/applications/services/gui/modules/widget.c b/applications/services/gui/modules/widget.c index 21b8e5616..5174a556a 100644 --- a/applications/services/gui/modules/widget.c +++ b/applications/services/gui/modules/widget.c @@ -119,7 +119,7 @@ static void widget_add_element(Widget* widget, WidgetElement* element) { true); } -void widget_add_string_multiline_element( +WidgetElement* widget_add_string_multiline_element( Widget* widget, uint8_t x, uint8_t y, @@ -131,9 +131,10 @@ void widget_add_string_multiline_element( WidgetElement* string_multiline_element = widget_element_string_multiline_create(x, y, horizontal, vertical, font, text); widget_add_element(widget, string_multiline_element); + return string_multiline_element; } -void widget_add_string_element( +WidgetElement* widget_add_string_element( Widget* widget, uint8_t x, uint8_t y, @@ -145,9 +146,10 @@ void widget_add_string_element( WidgetElement* string_element = widget_element_string_create(x, y, horizontal, vertical, font, text); widget_add_element(widget, string_element); + return string_element; } -void widget_add_text_box_element( +WidgetElement* widget_add_text_box_element( Widget* widget, uint8_t x, uint8_t y, @@ -161,9 +163,10 @@ void widget_add_text_box_element( WidgetElement* text_box_element = widget_element_text_box_create( x, y, width, height, horizontal, vertical, text, strip_to_dots); widget_add_element(widget, text_box_element); + return text_box_element; } -void widget_add_text_scroll_element( +WidgetElement* widget_add_text_scroll_element( Widget* widget, uint8_t x, uint8_t y, @@ -174,9 +177,10 @@ void widget_add_text_scroll_element( WidgetElement* text_scroll_element = widget_element_text_scroll_create(x, y, width, height, text); widget_add_element(widget, text_scroll_element); + return text_scroll_element; } -void widget_add_button_element( +WidgetElement* widget_add_button_element( Widget* widget, GuiButtonType button_type, const char* text, @@ -186,16 +190,18 @@ void widget_add_button_element( WidgetElement* button_element = widget_element_button_create(button_type, text, callback, context); widget_add_element(widget, button_element); + return button_element; } -void widget_add_icon_element(Widget* widget, uint8_t x, uint8_t y, const Icon* icon) { +WidgetElement* widget_add_icon_element(Widget* widget, uint8_t x, uint8_t y, const Icon* icon) { furi_assert(widget); furi_assert(icon); WidgetElement* icon_element = widget_element_icon_create(x, y, icon); widget_add_element(widget, icon_element); + return icon_element; } -void widget_add_frame_element( +WidgetElement* widget_add_frame_element( Widget* widget, uint8_t x, uint8_t y, @@ -205,4 +211,5 @@ void widget_add_frame_element( furi_assert(widget); WidgetElement* frame_element = widget_element_frame_create(x, y, width, height, radius); widget_add_element(widget, frame_element); + return frame_element; } diff --git a/applications/services/gui/modules/widget.h b/applications/services/gui/modules/widget.h index f86b14cc9..88d0dd667 100644 --- a/applications/services/gui/modules/widget.h +++ b/applications/services/gui/modules/widget.h @@ -51,7 +51,7 @@ View* widget_get_view(Widget* widget); * @param font Font instance * @param[in] text The text */ -void widget_add_string_multiline_element( +WidgetElement* widget_add_string_multiline_element( Widget* widget, uint8_t x, uint8_t y, @@ -70,7 +70,7 @@ void widget_add_string_multiline_element( * @param font Font instance * @param[in] text The text */ -void widget_add_string_element( +WidgetElement* widget_add_string_element( Widget* widget, uint8_t x, uint8_t y, @@ -94,7 +94,7 @@ void widget_add_string_element( * "\e!Inverted text\e!" - white text on black background * @param strip_to_dots Strip text to ... if does not fit to width */ -void widget_add_text_box_element( +WidgetElement* widget_add_text_box_element( Widget* widget, uint8_t x, uint8_t y, @@ -119,7 +119,7 @@ void widget_add_text_box_element( * "\ecCenter-aligned text" - sets center horizontal align until the next '\n' symbol * "\erRight-aligned text" - sets right horizontal align until the next '\n' symbol */ -void widget_add_text_scroll_element( +WidgetElement* widget_add_text_scroll_element( Widget* widget, uint8_t x, uint8_t y, @@ -135,7 +135,7 @@ void widget_add_text_scroll_element( * @param callback ButtonCallback instance * @param context pointer to context */ -void widget_add_button_element( +WidgetElement* widget_add_button_element( Widget* widget, GuiButtonType button_type, const char* text, @@ -149,7 +149,7 @@ void widget_add_button_element( * @param y top left y coordinate * @param icon Icon instance */ -void widget_add_icon_element(Widget* widget, uint8_t x, uint8_t y, const Icon* icon); +WidgetElement* widget_add_icon_element(Widget* widget, uint8_t x, uint8_t y, const Icon* icon); /** Add Frame Element * @@ -160,7 +160,7 @@ void widget_add_icon_element(Widget* widget, uint8_t x, uint8_t y, const Icon* i * @param height frame height * @param radius frame radius */ -void widget_add_frame_element( +WidgetElement* widget_add_frame_element( Widget* widget, uint8_t x, uint8_t y, diff --git a/firmware/targets/f7/api_symbols.csv b/firmware/targets/f7/api_symbols.csv index 41c2d612f..01b6307ca 100644 --- a/firmware/targets/f7/api_symbols.csv +++ b/firmware/targets/f7/api_symbols.csv @@ -3189,13 +3189,13 @@ Function,-,vsprintf,int,"char*, const char*, __gnuc_va_list" Function,-,vsscanf,int,"const char*, const char*, __gnuc_va_list" Function,-,wcstombs,size_t,"char*, const wchar_t*, size_t" Function,-,wctomb,int,"char*, wchar_t" -Function,+,widget_add_button_element,void,"Widget*, GuiButtonType, const char*, ButtonCallback, void*" -Function,+,widget_add_frame_element,void,"Widget*, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t" -Function,+,widget_add_icon_element,void,"Widget*, uint8_t, uint8_t, const Icon*" -Function,+,widget_add_string_element,void,"Widget*, uint8_t, uint8_t, Align, Align, Font, const char*" -Function,+,widget_add_string_multiline_element,void,"Widget*, uint8_t, uint8_t, Align, Align, Font, const char*" -Function,+,widget_add_text_box_element,void,"Widget*, uint8_t, uint8_t, uint8_t, uint8_t, Align, Align, const char*, _Bool" -Function,+,widget_add_text_scroll_element,void,"Widget*, uint8_t, uint8_t, uint8_t, uint8_t, const char*" +Function,+,widget_add_button_element,WidgetElement*,"Widget*, GuiButtonType, const char*, ButtonCallback, void*" +Function,+,widget_add_frame_element,WidgetElement*,"Widget*, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t" +Function,+,widget_add_icon_element,WidgetElement*,"Widget*, uint8_t, uint8_t, const Icon*" +Function,+,widget_add_string_element,WidgetElement*,"Widget*, uint8_t, uint8_t, Align, Align, Font, const char*" +Function,+,widget_add_string_multiline_element,WidgetElement*,"Widget*, uint8_t, uint8_t, Align, Align, Font, const char*" +Function,+,widget_add_text_box_element,WidgetElement*,"Widget*, uint8_t, uint8_t, uint8_t, uint8_t, Align, Align, const char*, _Bool" +Function,+,widget_add_text_scroll_element,WidgetElement*,"Widget*, uint8_t, uint8_t, uint8_t, uint8_t, const char*" Function,+,widget_alloc,Widget*, Function,+,widget_free,void,Widget* Function,+,widget_get_view,View*,Widget*