Struct vizia_core::views::Slider
source · pub struct Slider<L: Lens> { /* private fields */ }
Expand description
The slider control can be used to select from a continuous set of values.
The slider control consists of three main parts, a thumb element which can be moved between the extremes of a linear track, and an active element which fills the slider to indicate the current value.
The slider orientation is determined by its dimensions. If the slider width is greater than the height then the thumb moves horizontally, whereas if the slider height is greater than the width the thumb moves vertically.
§Examples
§Basic Slider
In the following example, a slider is bound to a value. The on_changing
callback is used to send an event to mutate the
bound value when the slider thumb is moved, or if the track is clicked on.
Slider::new(cx, AppData::value)
.on_changing(|cx, value| {
debug!("Slider on_changing: {}", value);
});
§Slider with Label
HStack::new(cx, |cx|{
Slider::new(cx, AppData::value)
.on_changing(|cx, value| {
debug!("Slider on_changing: {}", value);
});
Label::new(cx, AppData::value.map(|val| format!("{:.2}", val)));
});
Implementations§
source§impl<L> Slider<L>
impl<L> Slider<L>
sourcepub fn new(cx: &mut Context, lens: L) -> Handle<'_, Self>
pub fn new(cx: &mut Context, lens: L) -> Handle<'_, Self>
Creates a new slider bound to the value targeted by the lens.
§Example
Slider::new(cx, AppData::value)
.on_changing(|cx, value| {
debug!("Slider on_changing: {}", value);
});
pub fn custom<F>(cx: &mut Context, lens: L, content: F) -> Handle<'_, Self>
Trait Implementations§
source§impl<L: Lens<Target = f32>> View for Slider<L>
impl<L: Lens<Target = f32>> View for Slider<L>
source§fn element(&self) -> Option<&'static str>
fn element(&self) -> Option<&'static str>
Specifies a name for the view type which can be used as an element selector in css. Read more
fn accessibility(&self, _cx: &mut AccessContext<'_>, node: &mut AccessNode)
source§fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)
fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)
Handles any events received by the view. Read more
Auto Trait Implementations§
impl<L> Freeze for Slider<L>where
L: Freeze,
impl<L> !RefUnwindSafe for Slider<L>
impl<L> !Send for Slider<L>
impl<L> !Sync for Slider<L>
impl<L> Unpin for Slider<L>where
L: Unpin,
impl<L> !UnwindSafe for Slider<L>
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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
.§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
.§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.§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.