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 | |
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 'examples/slider')
-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![ |