Expose styling types for slider in iced_web

This commit is contained in:
Héctor Ramón Jiménez 2020-02-06 00:20:55 +01:00
parent ad13b466d2
commit c2dad29429

View File

@ -6,6 +6,8 @@
//! [`State`]: struct.State.html
use crate::{Bus, Css, Element, Length, Widget};
pub use iced_style::slider::{Handle, HandleShape, Style, StyleSheet};
use dodrio::bumpalo;
use std::{ops::RangeInclusive, rc::Rc};
@ -38,6 +40,7 @@ pub struct Slider<'a, Message> {
value: f32,
on_change: Rc<Box<dyn Fn(f32) -> Message>>,
width: Length,
style: Box<dyn StyleSheet>,
}
impl<'a, Message> Slider<'a, Message> {
@ -68,6 +71,7 @@ impl<'a, Message> Slider<'a, Message> {
range,
on_change: Rc::new(Box::new(on_change)),
width: Length::Fill,
style: Default::default(),
}
}
@ -78,6 +82,14 @@ impl<'a, Message> Slider<'a, Message> {
self.width = width;
self
}
/// Sets the style of the [`Slider`].
///
/// [`Slider`]: struct.Slider.html
pub fn style(mut self, style: impl Into<Box<dyn StyleSheet>>) -> Self {
self.style = style.into();
self
}
}
impl<'a, Message> Widget<Message> for Slider<'a, Message>
@ -103,7 +115,7 @@ where
let event_bus = bus.clone();
// TODO: Make `step` configurable
// TODO: Complete styling
// TODO: Styling
input(bump)
.attr("type", "range")
.attr("step", "0.01")