summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/progress_bar.rs14
-rw-r--r--examples/styling.rs40
2 files changed, 36 insertions, 18 deletions
diff --git a/examples/progress_bar.rs b/examples/progress_bar.rs
index 901428de..43b09928 100644
--- a/examples/progress_bar.rs
+++ b/examples/progress_bar.rs
@@ -1,7 +1,4 @@
-use iced::{
- slider, Background, Color, Column, Element, Length, ProgressBar, Sandbox,
- Settings, Slider,
-};
+use iced::{slider, Column, Element, ProgressBar, Sandbox, Settings, Slider};
pub fn main() {
Progress::run(Settings::default())
@@ -38,14 +35,7 @@ impl Sandbox for Progress {
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(ProgressBar::new(0.0..=100.0, self.value))
.push(Slider::new(
&mut self.progress_bar_slider,
0.0..=100.0,
diff --git a/examples/styling.rs b/examples/styling.rs
index 215185e3..426e0638 100644
--- a/examples/styling.rs
+++ b/examples/styling.rs
@@ -1,6 +1,7 @@
use iced::{
button, scrollable, slider, text_input, Button, Column, Container, Element,
- Length, Radio, Row, Sandbox, Scrollable, Settings, Slider, Text, TextInput,
+ Length, ProgressBar, Radio, Row, Sandbox, Scrollable, Settings, Slider,
+ Text, TextInput,
};
pub fn main() {
@@ -82,13 +83,17 @@ impl Sandbox for Styling {
)
.style(self.theme);
+ let progress_bar =
+ ProgressBar::new(0.0..=100.0, self.slider_value).style(self.theme);
+
let content = Column::new()
.spacing(20)
.padding(20)
.max_width(600)
.push(choose_theme)
.push(Row::new().spacing(10).push(text_input).push(button))
- .push(slider);
+ .push(slider)
+ .push(progress_bar);
let scrollable = Scrollable::new(&mut self.scroll)
.style(self.theme)
@@ -104,7 +109,9 @@ impl Sandbox for Styling {
}
mod style {
- use iced::{button, container, scrollable, slider, text_input};
+ use iced::{
+ button, container, progress_bar, scrollable, slider, text_input,
+ };
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Theme {
@@ -167,6 +174,15 @@ mod style {
}
}
+ impl From<Theme> for Box<dyn progress_bar::StyleSheet> {
+ fn from(theme: Theme) -> Self {
+ match theme {
+ Theme::Light => Default::default(),
+ Theme::Dark => dark::ProgressBar.into(),
+ }
+ }
+ }
+
mod light {
use iced::{button, Background, Color, Vector};
@@ -197,8 +213,8 @@ mod style {
mod dark {
use iced::{
- button, container, scrollable, slider, text_input, Background,
- Color,
+ button, container, progress_bar, scrollable, slider, text_input,
+ Background, Color,
};
const SURFACE: Color = Color::from_rgb(
@@ -268,7 +284,7 @@ mod style {
}
fn placeholder_color(&self) -> Color {
- Color::from_rgb(0.7, 0.7, 0.7)
+ Color::from_rgb(0.4, 0.4, 0.4)
}
fn value_color(&self) -> Color {
@@ -372,5 +388,17 @@ mod style {
}
}
}
+
+ pub struct ProgressBar;
+
+ impl progress_bar::StyleSheet for ProgressBar {
+ fn style(&self) -> progress_bar::Style {
+ progress_bar::Style {
+ background: Background::Color(SURFACE),
+ bar: Background::Color(ACTIVE),
+ border_radius: 10,
+ }
+ }
+ }
}
}