Skip to main content

Callout

Struct Callout 

Source
pub struct Callout<'a> { /* private fields */ }
Expand description

A full-width inline banner in the elegance style.

Callout::new(CalloutTone::Warning)
    .title("Unsaved changes.")
    .body("You have 3 edits that haven't been written to disk.")
    .show(ui, |_| {});

Implementations§

Source§

impl<'a> Callout<'a>

Source

pub fn new(tone: CalloutTone) -> Self

Create a new callout with the given tone.

Source

pub fn title(self, text: impl Into<WidgetText>) -> Self

Set the bolded title text rendered inline at the left of the banner.

Source

pub fn body(self, text: impl Into<WidgetText>) -> Self

Set the muted body text, rendered to the right of the title.

Source

pub fn icon(self, icon: impl Into<WidgetText>) -> Self

Override the icon glyph. Defaults to a tone-dependent symbol.

Source

pub fn dismissable(self, open: &'a mut bool) -> Self

Render a trailing × button that sets *open = false when clicked.

The caller is responsible for gating the .show(...) call on the same bool so the banner disappears after dismissal.

Source

pub fn show<R>( self, ui: &mut Ui, add_actions: impl FnOnce(&mut Ui) -> R, ) -> InnerResponse<R>

Render the callout and return the closure’s result.

add_actions is invoked with a right-to-left layout so buttons you add slot into the action area between the body text and the dismiss button. Inside the closure the first widget added appears furthest right, so add your primary action first:

Callout::new(CalloutTone::Warning)
    .title("Unsaved changes.")
    .show(ui, |ui| {
        ui.add(Button::new("Save now").accent(Accent::Amber)); // rightmost
        ui.add(Button::new("Discard").outline());              // to its left
    });

Pass |_| {} when no actions are needed.

Trait Implementations§

Source§

impl Debug for Callout<'_>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Callout<'a>

§

impl<'a> RefUnwindSafe for Callout<'a>

§

impl<'a> Send for Callout<'a>

§

impl<'a> Sync for Callout<'a>

§

impl<'a> Unpin for Callout<'a>

§

impl<'a> UnsafeUnpin for Callout<'a>

§

impl<'a> !UnwindSafe for Callout<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(value: T, _simd: S) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.