ToggleButton

Struct ToggleButton 

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

A button widget that can be toggled on and off.

ToggleButton provides a clickable button that maintains an on/off state. When clicked, it toggles between these states and displays different visual styles accordingly. The button includes a text label and supports various interaction states like hover and click.

§Examples

let mut state = false;

loop {
    // [...]
    ui.add(ToggleButton::new("Toggle Me", &mut state));
}

Implementations§

Source§

impl<'a> ToggleButton<'a>

Source

pub fn new(label: &'a str, active: &'a mut bool) -> ToggleButton<'a>

Creates a new ToggleButton with the given label and active state.

The label parameter is the text to display on the button, and the active parameter is a mutable reference to a boolean that tracks the on/off state of the button.

§Examples
let mut state = false;
let mut smartstateProvider = SmartstateProvider::<20>::new();

loop {
    // [...]
    if ui.add(ToggleButton::new("Toggle Me", &mut state)).changed() {
        // handle toggle
    }
    // or with smartstate:
   if ui.add(ToggleButton::new("Toggle Me", &mut state).smartstate(smartstateProvider.nxt())).changed() {
       // handle toggle
   }

}
Source

pub fn smartstate(self, smartstate: &'a mut Smartstate) -> Self

Attaches a Smartstate to the toggle button for incremental redrawing.

Smartstates enable efficient rendering by tracking the button’s visual state and only redrawing when necessary.

Returns self for method chaining.

Trait Implementations§

Source§

impl Widget for ToggleButton<'_>

Source§

fn draw<DRAW: DrawTarget<Color = COL>, COL: PixelColor>( &mut self, ui: &mut Ui<'_, DRAW, COL>, ) -> GuiResult<Response>

Auto Trait Implementations§

§

impl<'a> Freeze for ToggleButton<'a>

§

impl<'a> RefUnwindSafe for ToggleButton<'a>

§

impl<'a> Send for ToggleButton<'a>

§

impl<'a> Sync for ToggleButton<'a>

§

impl<'a> Unpin for ToggleButton<'a>

§

impl<'a> !UnwindSafe for ToggleButton<'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> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
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.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.