docs(msgbox): update to reflect latest (#6603)

This commit is contained in:
Liam
2024-08-02 00:21:26 -04:00
committed by GitHub
parent 89f2ff6701
commit a246b47e5a
3 changed files with 45 additions and 38 deletions

View File

@@ -7,12 +7,14 @@ Message box (lv_msgbox)
Overview
********
The Message boxes act as pop-ups. They are built from a background
container, a title, an optional close button, a text and optional
buttons.
Message boxes act as pop-ups. They are built from a content area
with a helper to add text, an optional header (which can have
a title, a close button, and other buttons), and an optional footer
with buttons.
The text will be broken into multiple lines automatically and the height
will be set automatically to include the text and the buttons.
The text will be broken into multiple lines and the height
will be set automatically. If the height
is set manually, the content will become scrollable.
The message box can be modal (blocking clicks on the rest of the screen)
or not modal.
@@ -25,10 +27,9 @@ Parts and Styles
The message box is built from other widgets, so you can check these
widgets' documentation for details.
- Background: :ref:`lv_obj`
- Close button: :ref:`lv_button`
- Title and text: :ref:`lv_label`
- Buttons: :ref:`lv_buttonmatrix`
- Content, header, and footer: :ref:`lv_obj`
- Buttons: :ref:`lv_button`
- Title and content text: :ref:`lv_label`
.. _lv_msgbox_usage:
@@ -38,15 +39,8 @@ Usage
Create a message box
--------------------
:cpp:expr:`lv_msgbox_create(parent, title, txt, btn_txts[], add_close_btn)`
creates a message box.
If ``parent`` is ``NULL`` the message box will be modal. ``title`` and
``txt`` are strings for the title and the text. ``btn_txts[]`` is an
array with the buttons' text.
E.g. :cpp:expr:`const char * btn_txts[] = {"Ok", "Cancel", NULL}`.
``add_close_btn`` can be ``true`` or ``false`` to add/don't add a close button.
:cpp:expr:`lv_msgbox_create(parent)` creates a message box.
If ``parent`` is ``NULL`` the message box will be modal.
Get the parts
-------------
@@ -56,29 +50,37 @@ following functions:
.. code:: c
lv_obj_t * lv_msgbox_get_title(lv_obj_t * mbox);
lv_obj_t * lv_msgbox_get_close_btn(lv_obj_t * mbox);
lv_obj_t * lv_msgbox_get_text(lv_obj_t * mbox);
lv_obj_t * lv_msgbox_get_btns(lv_obj_t * mbox);
lv_obj_t * lv_msgbox_get_content(lv_obj_t * obj);
lv_obj_t * lv_msgbox_get_title(lv_obj_t * obj);
lv_obj_t * lv_msgbox_get_header(lv_obj_t * obj);
lv_obj_t * lv_msgbox_get_footer(lv_obj_t * obj);
Functions that add something to the message box return the newly added object:
.. code:: c
lv_obj_t * lv_msgbox_add_text(lv_obj_t * obj, const char * text);
lv_obj_t * lv_msgbox_add_title(lv_obj_t * obj, const char * title);
lv_obj_t * lv_msgbox_add_close_button(lv_obj_t * obj);
lv_obj_t * lv_msgbox_add_header_button(lv_obj_t * obj, const void * icon);
lv_obj_t * lv_msgbox_add_footer_button(lv_obj_t * obj, const char * text);
Close the message box
---------------------
:cpp:expr:`lv_msgbox_close(msgbox)` closes (deletes) the message box.
:cpp:expr:`lv_msgbox_close_async(msgbox)` closes (deletes) the message box
asynchronously. This is useful if you want the message box to close the on
the next call to ``lv_timer_handler`` instead of immediately.
.. _lv_msgbox_events:
Events
******
- :cpp:enumerator:`LV_EVENT_VALUE_CHANGED` is sent by the buttons if one of them is
clicked. :cpp:enumerator:`LV_OBJ_FLAG_EVENT_BUBBLE` is enabled on the buttons so
you can add events to the message box itself. In the event handler,
:cpp:expr:`lv_event_get_target(e)` will return the button matrix and
:cpp:expr:`lv_event_get_current_target(e)` will return the message box.
:cpp:expr:`lv_msgbox_get_active_button(msgbox)` and
:cpp:expr:`lv_msgbox_get_active_button_text(msgbox)` can be used to get the
index and text of the clicked button.
No special events are sent by this widget.
Learn more about :ref:`events`.
@@ -87,8 +89,7 @@ Learn more about :ref:`events`.
Keys
****
Keys have effect on the close button and button matrix. You can add them
manually to a group if required.
No *Keys* are processed by the object type.
Learn more about :ref:`indev_keys`.