Skip to main content

State

Struct State 

Source
pub struct State<Id> { /* private fields */ }
Available on crate feature toggle-group only.
Expand description

The items and which of them are on.

Implementations§

Source§

impl<Id: Copy + PartialEq> State<Id>

Source

pub fn single(items: impl IntoIterator<Item = Item<Id>>) -> Self

A group where at most one item is on, starting with none.

Source

pub fn multiple(items: impl IntoIterator<Item = Item<Id>>) -> Self

A group where every item switches on and off by itself.

Source

pub fn with_selected(self, ids: impl IntoIterator<Item = Id>) -> Self

Switches these items on, skipping unknown and disabled ones. In single mode the first that applies replaces the selection.

Source

pub fn required(self, required: bool) -> Self

Keeps the last item in a single-mode group on, so pressing it again does nothing rather than leaving the group empty. When nothing is on yet, the first enabled item is switched on.

Source

pub fn mode(&self) -> Mode

Source

pub fn is_required(&self) -> bool

Source

pub fn items(&self) -> &[Item<Id>]

Source

pub fn selected(&self) -> Vec<Id>

The ids that are on, in item order.

Source

pub fn selected_one(&self) -> Option<Id>

The first id that is on, which in single mode is the only one.

Source

pub fn is_selected(&self, id: Id) -> bool

Source

pub fn set_disabled(&mut self, id: Id, disabled: bool)

Enables or disables an item. Whether it is on stays as it was.

Source

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

Applies an event and returns the ids that are on afterwards, if anything changed.

Trait Implementations§

Source§

impl<Id: Clone> Clone for State<Id>

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<Id: Debug> Debug for State<Id>

Source§

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

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

impl<Id: PartialEq> PartialEq for State<Id>

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<Id: PartialEq> StructuralPartialEq for State<Id>

Auto Trait Implementations§

§

impl<Id> Freeze for State<Id>
where Vec<Item<Id>>: Freeze,

§

impl<Id> RefUnwindSafe for State<Id>
where Vec<Item<Id>>: RefUnwindSafe,

§

impl<Id> Send for State<Id>
where Vec<Item<Id>>: Send,

§

impl<Id> Sync for State<Id>
where Vec<Item<Id>>: Sync,

§

impl<Id> Unpin for State<Id>
where Vec<Item<Id>>: Unpin,

§

impl<Id> UnsafeUnpin for State<Id>
where Vec<Item<Id>>: UnsafeUnpin,

§

impl<Id> UnwindSafe for State<Id>
where Vec<Item<Id>>: 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