diff options
| author | 2024-01-31 22:14:54 +0100 | |
|---|---|---|
| committer | 2024-01-31 22:14:54 +0100 | |
| commit | 4fcbcdab1c87a1badaf293b4aaaf2f39857e8736 (patch) | |
| tree | c54ab1cac2a5957abb38c379bbd18347c5a6d410 /examples/slider/src | |
| parent | 6bf34b074667e5e025de1e352a34ce255bc7e26e (diff) | |
| parent | 41bffa448b8a5901bdb3461d6d364b22e8a84a3a (diff) | |
| download | iced-4fcbcdab1c87a1badaf293b4aaaf2f39857e8736.tar.gz iced-4fcbcdab1c87a1badaf293b4aaaf2f39857e8736.tar.bz2 iced-4fcbcdab1c87a1badaf293b4aaaf2f39857e8736.zip  | |
Merge pull request #2100 from jpttrssn/enhanced-slider
Enhance `Slider` and `VerticalSlider` functionality
Diffstat (limited to '')
| -rw-r--r-- | examples/slider/src/main.rs | 38 | 
1 files changed, 26 insertions, 12 deletions
diff --git a/examples/slider/src/main.rs b/examples/slider/src/main.rs index e83804c2..f71dac01 100644 --- a/examples/slider/src/main.rs +++ b/examples/slider/src/main.rs @@ -11,14 +11,22 @@ pub enum Message {  }  pub struct Slider { -    slider_value: u8, +    value: u8, +    default: u8, +    step: u8, +    shift_step: u8,  }  impl Sandbox for Slider {      type Message = Message;      fn new() -> Slider { -        Slider { slider_value: 50 } +        Slider { +            value: 50, +            default: 50, +            step: 5, +            shift_step: 1, +        }      }      fn title(&self) -> String { @@ -28,23 +36,29 @@ impl Sandbox for Slider {      fn update(&mut self, message: Message) {          match message {              Message::SliderChanged(value) => { -                self.slider_value = value; +                self.value = value;              }          }      }      fn view(&self) -> Element<Message> { -        let value = self.slider_value; - -        let h_slider = -            container(slider(0..=100, value, Message::SliderChanged)) -                .width(250); +        let h_slider = container( +            slider(0..=100, self.value, Message::SliderChanged) +                .default(self.default) +                .step(self.step) +                .shift_step(self.shift_step), +        ) +        .width(250); -        let v_slider = -            container(vertical_slider(0..=100, value, Message::SliderChanged)) -                .height(200); +        let v_slider = container( +            vertical_slider(0..=100, self.value, Message::SliderChanged) +                .default(self.default) +                .step(self.step) +                .shift_step(self.shift_step), +        ) +        .height(200); -        let text = text(format!("{value}")); +        let text = text(self.value);          container(              column