diff options
author | 2020-01-01 17:27:14 +0100 | |
---|---|---|
committer | 2020-01-02 11:11:08 +0100 | |
commit | d60f3b89a75f5b2ad8e6fb17827f5574a0a44bd1 (patch) | |
tree | 2fb1abb3717e8170df4e7946675b550b07d5eab9 /examples | |
parent | 26de688e68347e1f6e388d01014eac89cea71afa (diff) | |
download | iced-d60f3b89a75f5b2ad8e6fb17827f5574a0a44bd1.tar.gz iced-d60f3b89a75f5b2ad8e6fb17827f5574a0a44bd1.tar.bz2 iced-d60f3b89a75f5b2ad8e6fb17827f5574a0a44bd1.zip |
add(widget): primitive progressbar widget
Diffstat (limited to 'examples')
-rw-r--r-- | examples/progressbar.rs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/examples/progressbar.rs b/examples/progressbar.rs new file mode 100644 index 00000000..4663f8df --- /dev/null +++ b/examples/progressbar.rs @@ -0,0 +1,51 @@ +use iced::{slider, Column, Element, Sandbox, Settings, Slider}; +use iced_winit::Progressbar; + +pub fn main() { + Progress::run(Settings::default()) +} + +#[derive(Default)] +struct Progress { + value: f32, + progressbar_slider: slider::State, +} + +#[derive(Debug, Clone, Copy)] +enum Message { + SliderChanged(f32), +} + +impl Sandbox for Progress { + type Message = Message; + + fn new() -> Self { + Self::default() + } + + fn title(&self) -> String { + String::from("A simple Progressbar") + } + + fn update(&mut self, message: Message) { + match message { + Message::SliderChanged(x) => { + self.value = x; + } + } + } + + fn view(&mut self) -> Element<Message> { + Column::new() + .padding(20) + .push(Progressbar::new(0.0..=100.0, self.value)) + .padding(20) + .push(Slider::new( + &mut self.progressbar_slider, + 0.0..=100.0, + self.value, + Message::SliderChanged, + )) + .into() + } +} |