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>
where L: Lens<Target = f32>,

source

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);
    });
source

pub fn custom<F>(cx: &mut Context, lens: L, content: F) -> Handle<'_, Self>
where F: FnOnce(&mut Context),

Trait Implementations§

source§

impl<L: Lens<Target = f32>> View for Slider<L>

source§

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
source§

fn accessibility(&self, _cx: &mut AccessContext<'_>, node: &mut AccessNode)

source§

fn event(&mut self, cx: &mut EventContext<'_>, event: &mut Event)

Handles any events received by the view. Read more
source§

fn build<F>(self, cx: &mut Context, content: F) -> Handle<'_, Self>
where F: FnOnce(&mut Context),

Builds the view into the tree and returns a handle which can be used to apply style and layout modifiers to the view. Read more
source§

fn draw(&self, cx: &mut DrawContext<'_>, canvas: &Canvas)

Provides custom drawing for 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> 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
§

impl<T> Downcast for T
where T: 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>

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)

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)

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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