diff options
| author | 2020-01-05 22:03:32 +0100 | |
|---|---|---|
| committer | 2020-01-05 22:03:32 +0100 | |
| commit | bbc8f837d72b9bc5f6a0b3125b54c246fb3b2b94 (patch) | |
| tree | 749e2b339ca8ca08a6f5d28befc6a3f137fc2d01 /examples/progress_bar | |
| parent | a848306b89053ef4ba2aeb4eb7899bec94d93cb3 (diff) | |
| parent | 8311500ac03a95927022d8eec8178ba7d87b0010 (diff) | |
| download | iced-bbc8f837d72b9bc5f6a0b3125b54c246fb3b2b94.tar.gz iced-bbc8f837d72b9bc5f6a0b3125b54c246fb3b2b94.tar.bz2 iced-bbc8f837d72b9bc5f6a0b3125b54c246fb3b2b94.zip | |
Merge branch 'master' into feature/custom-styling
Diffstat (limited to '')
| -rw-r--r-- | examples/progress_bar.rs | 57 | 
1 files changed, 57 insertions, 0 deletions
| diff --git a/examples/progress_bar.rs b/examples/progress_bar.rs new file mode 100644 index 00000000..901428de --- /dev/null +++ b/examples/progress_bar.rs @@ -0,0 +1,57 @@ +use iced::{ +    slider, Background, Color, Column, Element, Length, ProgressBar, Sandbox, +    Settings, Slider, +}; + +pub fn main() { +    Progress::run(Settings::default()) +} + +#[derive(Default)] +struct Progress { +    value: f32, +    progress_bar_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) +                    .background(Background::Color(Color::from_rgb( +                        0.6, 0.6, 0.6, +                    ))) +                    .active_color(Color::from_rgb(0.0, 0.95, 0.0)) +                    .height(Length::Units(30)), +            ) +            .push(Slider::new( +                &mut self.progress_bar_slider, +                0.0..=100.0, +                self.value, +                Message::SliderChanged, +            )) +            .into() +    } +} | 
