Skip to main content

State

Struct State 

Source
pub struct State<A = ()> { /* private fields */ }
Available on crate feature toast only.
Expand description

The toast queue. The first limit toasts are visible and counting down; the rest wait until a visible one closes.

A toast with an action goes ahead of every toast without one that is waiting, and when the visible toasts are full it takes the place of the newest visible toast without an action, which waits again and restarts its countdown when it comes back. While the pointer is over the toasts (Event::Pause) no countdown runs.

A is what action buttons hand back, usually the app’s message, so an Undo toast can carry the message that undoes. A queue without payloads is State<()>, made with State::new; one with payloads is made with State::default.

Implementations§

Source§

impl State

Source

pub fn new() -> Self

Source§

impl<A> State<A>

Source

pub fn with_limit(self, limit: usize) -> Self

Sets how many toasts are visible at once. At least one is.

Source

pub fn limit(&self) -> usize

Source

pub fn push(&mut self, toast: Toast) -> Id

Queues a toast and returns its id.

Source

pub fn push_with(&mut self, toast: Toast, payload: A) -> Id

Queues a toast whose action button hands back payload as Output::Payload, and returns its id.

Source

pub fn dismiss(&mut self, id: Id) -> Option<Toast>

Removes a toast, visible or waiting, dropping any payload.

Source

pub fn tick(&mut self, now: Instant) -> Vec<Id>

Closes expired toasts and starts the countdown of newly visible ones. While paused, the time since the last tick is added back to every countdown instead. Returns the ids that closed.

Source

pub fn is_paused(&self) -> bool

Whether the countdowns are stopped because the pointer is over the toasts.

Source

pub fn update(&mut self, event: Event) -> Option<Output<A>>

Source

pub fn visible(&self) -> impl Iterator<Item = (Id, &Toast)>

The visible toasts, top to bottom in queue order: oldest first, with toasts that have an action moved ahead of waiting ones.

Source

pub fn waiting(&self) -> usize

How many toasts are waiting behind the visible ones.

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn needs_tick(&self) -> bool

Whether a visible toast still has to count down.

Source

pub fn ids(&self) -> impl Iterator<Item = Id>

Every queued toast id, visible first, in queue order.

Trait Implementations§

Source§

impl<A: Clone> Clone for State<A>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<A: Debug> Debug for State<A>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<A> Default for State<A>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<A> Freeze for State<A>
where VecDeque<Entry<A>>: Freeze,

§

impl<A> RefUnwindSafe for State<A>
where VecDeque<Entry<A>>: RefUnwindSafe,

§

impl<A> Send for State<A>
where VecDeque<Entry<A>>: Send,

§

impl<A> Sync for State<A>
where VecDeque<Entry<A>>: Sync,

§

impl<A> Unpin for State<A>
where VecDeque<Entry<A>>: Unpin,

§

impl<A> UnsafeUnpin for State<A>
where VecDeque<Entry<A>>: UnsafeUnpin,

§

impl<A> UnwindSafe for State<A>
where VecDeque<Entry<A>>: UnwindSafe,

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<State, Message> IntoBoot<State, Message> for State

Source§

fn into_boot(self) -> (State, Task<Message>)

Turns some type into the initial state of some Application.
Source§

impl<T> MaybeClone for T

Source§

impl<T> MaybeDebug for T

Source§

impl<T> MaybeSend for T
where T: Send,

Source§

impl<T> MaybeSync for T
where T: Sync,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more