diff options
author | 2020-01-04 14:28:29 +0100 | |
---|---|---|
committer | 2020-01-04 14:28:29 +0100 | |
commit | 8311500ac03a95927022d8eec8178ba7d87b0010 (patch) | |
tree | 2423a758d4d639d22170b7dbc8413a246f448584 /examples | |
parent | e4de2132e993ec6656da52063faf09bcfb978207 (diff) | |
parent | 43de28ae1515ace34758656f228444898459d85b (diff) | |
download | iced-8311500ac03a95927022d8eec8178ba7d87b0010.tar.gz iced-8311500ac03a95927022d8eec8178ba7d87b0010.tar.bz2 iced-8311500ac03a95927022d8eec8178ba7d87b0010.zip |
Merge pull request #141 from Songtronix/songtronix/progressbar-widget
Progress bar widget
Diffstat (limited to 'examples')
-rw-r--r-- | examples/progress_bar.rs | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/examples/progress_bar.rs b/examples/progress_bar.rs new file mode 100644 index 00000000..525019b4 --- /dev/null +++ b/examples/progress_bar.rs @@ -0,0 +1,63 @@ +use iced::{ + settings::Window, slider, Background, Color, Column, Element, Length, + ProgressBar, Sandbox, Settings, Slider, +}; + +pub fn main() { + Progress::run(Settings { + window: Window { + size: (700, 300), + resizable: true, + decorations: true, + }, + }) +} + +#[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() + } +} |