pub struct Switch { /* private fields */ }Expand description
A switch widget to toggle between two states.
Similar to a checkbox, but with slightly different visuals.
See the switch example for how to use it in practice.
§Theming
Styling the checkbox requires following properties:
color_unchecked- The color of the switch, when it’s not checked (inner value is false).color_checked- The color of the switch, when it’s checked (inner value is true).
The WidgetId is equal to maycoon-widgets:Switch.
Implementations§
Source§impl Switch
impl Switch
Sourcepub fn new(value: impl Into<MaybeSignal<bool>>) -> Self
pub fn new(value: impl Into<MaybeSignal<bool>>) -> Self
Create a new switch with the given value.
The value should be a signal, so it’s mutable.
Sourcepub fn with_value(self, value: impl Into<MaybeSignal<bool>>) -> Self
pub fn with_value(self, value: impl Into<MaybeSignal<bool>>) -> Self
Sets the value of the checkbox and returns self.
Sourcepub fn with_on_change(self, update: impl Into<MaybeSignal<Update>>) -> Self
pub fn with_on_change(self, update: impl Into<MaybeSignal<Update>>) -> Self
Sets the update value to apply on changes and returns self.
Trait Implementations§
Source§impl Widget for Switch
impl Widget for Switch
Source§fn render(
&mut self,
scene: &mut dyn Scene,
theme: &mut dyn Theme,
layout_node: &LayoutNode,
_: &AppInfo,
_: AppContext,
)
fn render( &mut self, scene: &mut dyn Scene, theme: &mut dyn Theme, layout_node: &LayoutNode, _: &AppInfo, _: AppContext, )
Render the widget to the canvas.
Source§fn layout_style(&self) -> StyleNode
fn layout_style(&self) -> StyleNode
Return the layout style node for layout computation.
Source§fn update(
&mut self,
layout: &LayoutNode,
_: AppContext,
info: &AppInfo,
) -> Update
fn update( &mut self, layout: &LayoutNode, _: AppContext, info: &AppInfo, ) -> Update
Update the widget state with given info and layout. Returns if the app should be updated.
Source§impl WidgetLayoutExt for Switch
impl WidgetLayoutExt for Switch
Source§fn set_layout_style(
&mut self,
layout_style: impl Into<MaybeSignal<LayoutStyle>>,
)
fn set_layout_style( &mut self, layout_style: impl Into<MaybeSignal<LayoutStyle>>, )
Sets the layout style of the widget.
Source§fn with_layout_style(
self,
layout_style: impl Into<MaybeSignal<LayoutStyle>>,
) -> Selfwhere
Self: Sized,
fn with_layout_style(
self,
layout_style: impl Into<MaybeSignal<LayoutStyle>>,
) -> Selfwhere
Self: Sized,
Sets the layout style of the widget and returns self.
Auto Trait Implementations§
impl Freeze for Switch
impl !RefUnwindSafe for Switch
impl !Send for Switch
impl !Sync for Switch
impl Unpin for Switch
impl !UnwindSafe for Switch
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
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>
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)
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)
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.