Simplify slider example

This commit is contained in:
Héctor Ramón Jiménez 2024-01-31 21:56:55 +01:00
parent cd03a0dd24
commit 468f6a461a
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -11,10 +11,10 @@ pub enum Message {
} }
pub struct Slider { pub struct Slider {
slider_value: u8, value: u8,
slider_default: u8, default: u8,
slider_step: u8, step: u8,
slider_step_fine: u8, shift_step: u8,
} }
impl Sandbox for Slider { impl Sandbox for Slider {
@ -22,10 +22,10 @@ impl Sandbox for Slider {
fn new() -> Slider { fn new() -> Slider {
Slider { Slider {
slider_value: 50, value: 50,
slider_default: 50, default: 50,
slider_step: 5, step: 5,
slider_step_fine: 1, shift_step: 1,
} }
} }
@ -36,34 +36,29 @@ impl Sandbox for Slider {
fn update(&mut self, message: Message) { fn update(&mut self, message: Message) {
match message { match message {
Message::SliderChanged(value) => { Message::SliderChanged(value) => {
self.slider_value = value; self.value = value;
} }
} }
} }
fn view(&self) -> Element<Message> { fn view(&self) -> Element<Message> {
let value = self.slider_value;
let default = self.slider_default;
let step = self.slider_step;
let step_fine = self.slider_step_fine;
let h_slider = container( let h_slider = container(
slider(0..=100, value, Message::SliderChanged) slider(0..=100, self.value, Message::SliderChanged)
.default(default) .default(self.default)
.step(step) .step(self.step)
.step_fine(step_fine), .shift_step(self.shift_step),
) )
.width(250); .width(250);
let v_slider = container( let v_slider = container(
vertical_slider(0..=100, value, Message::SliderChanged) vertical_slider(0..=100, self.value, Message::SliderChanged)
.default(default) .default(self.default)
.step(step) .step(self.step)
.step_fine(step_fine), .shift_step(self.shift_step),
) )
.height(200); .height(200);
let text = text(format!("{value}")); let text = text(self.value);
container( container(
column![ column![