pub struct Modal<'a> { /* private fields */ }Expand description
A centered modal dialog.
The open flag drives visibility: when it’s false on entry to
Modal::show, nothing is rendered; when the user clicks the backdrop,
presses Esc, or clicks the “×” button, it’s flipped to false.
Modal::new("stats", &mut open)
.heading("Run Summary")
.show(&ctx, |ui| {
ui.label("…");
});Implementations§
Source§impl<'a> Modal<'a>
impl<'a> Modal<'a>
Sourcepub fn new(id_salt: impl Hash, open: &'a mut bool) -> Self
pub fn new(id_salt: impl Hash, open: &'a mut bool) -> Self
Create a modal keyed by id_salt whose visibility is bound to open.
Sourcepub fn heading(self, heading: impl Into<WidgetText>) -> Self
pub fn heading(self, heading: impl Into<WidgetText>) -> Self
Show a strong heading at the top of the modal, alongside the close button.
Sourcepub fn max_width(self, max_width: f32) -> Self
pub fn max_width(self, max_width: f32) -> Self
Override the maximum width of the modal card in points. Default: 440.
Sourcepub fn close_on_backdrop(self, close: bool) -> Self
pub fn close_on_backdrop(self, close: bool) -> Self
Whether clicking the dimmed backdrop dismisses the modal. Default: true.
Sourcepub fn close_on_escape(self, close: bool) -> Self
pub fn close_on_escape(self, close: bool) -> Self
Whether pressing Esc dismisses the modal. Default: true.
Sourcepub fn alert(self, alert: bool) -> Self
pub fn alert(self, alert: bool) -> Self
Mark this modal as an alert dialog — a dialog that demands the
user’s attention to proceed, such as a destructive confirmation or
an unsaved-changes prompt. Screen readers announce alert dialogs
more assertively than ordinary dialogs. Default: false.
Under the hood this exposes accesskit::Role::AlertDialog on the
modal’s root node instead of the default Role::Dialog.