Implement Slider in iced_pure
This commit is contained in:
parent
45455be450
commit
3f1a45ca47
4 changed files with 503 additions and 167 deletions
|
|
@ -7,6 +7,7 @@ mod container;
|
|||
mod element;
|
||||
mod row;
|
||||
mod scrollable;
|
||||
mod slider;
|
||||
mod text;
|
||||
mod text_input;
|
||||
mod tree;
|
||||
|
|
@ -19,6 +20,7 @@ pub use element::Element;
|
|||
pub use image::Image;
|
||||
pub use row::Row;
|
||||
pub use scrollable::Scrollable;
|
||||
pub use slider::Slider;
|
||||
pub use text::Text;
|
||||
pub use text_input::TextInput;
|
||||
pub use tree::Tree;
|
||||
|
|
@ -36,8 +38,6 @@ pub trait Widget<Message, Renderer> {
|
|||
|
||||
fn state(&self) -> Box<dyn Any>;
|
||||
|
||||
fn diff(&self, tree: &mut Tree);
|
||||
|
||||
fn children_state(&self) -> Vec<Tree>;
|
||||
|
||||
fn width(&self) -> Length;
|
||||
|
|
@ -62,6 +62,8 @@ pub trait Widget<Message, Renderer> {
|
|||
viewport: &Rectangle,
|
||||
);
|
||||
|
||||
fn diff(&self, _tree: &mut Tree) {}
|
||||
|
||||
fn mouse_interaction(
|
||||
&self,
|
||||
_state: &Tree,
|
||||
|
|
@ -149,6 +151,19 @@ where
|
|||
TextInput::new(placeholder, value, on_change)
|
||||
}
|
||||
|
||||
pub fn slider<'a, Message, Renderer, T>(
|
||||
range: std::ops::RangeInclusive<T>,
|
||||
value: T,
|
||||
on_change: impl Fn(T) -> Message + 'a,
|
||||
) -> Slider<'a, T, Message>
|
||||
where
|
||||
Message: Clone,
|
||||
Renderer: iced_native::Renderer,
|
||||
T: Copy + From<u8> + std::cmp::PartialOrd,
|
||||
{
|
||||
Slider::new(range, value, on_change)
|
||||
}
|
||||
|
||||
pub fn image<Handle>(handle: Handle) -> Image<Handle> {
|
||||
Image::new(handle)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue