diff options
author | 2022-11-03 04:54:46 +0100 | |
---|---|---|
committer | 2022-11-03 04:54:46 +0100 | |
commit | a8f510c39917b2ac42fcc854f0a7eff13aee9838 (patch) | |
tree | 66773a33f34b2d31b10d3d1bee69e264760160a0 /examples/scrollable/src | |
parent | 231d2fd8454eb9d24ba970131d4d7339cc0c8d51 (diff) | |
parent | df7877767567cc0c7f48d2d6da4680a55f0f7b6d (diff) | |
download | iced-a8f510c39917b2ac42fcc854f0a7eff13aee9838.tar.gz iced-a8f510c39917b2ac42fcc854f0a7eff13aee9838.tar.bz2 iced-a8f510c39917b2ac42fcc854f0a7eff13aee9838.zip |
Merge pull request #1432 from wash2/custom-theme
Add custom palette to built in theme
Diffstat (limited to 'examples/scrollable/src')
-rw-r--r-- | examples/scrollable/src/main.rs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/examples/scrollable/src/main.rs b/examples/scrollable/src/main.rs index b7b3dedc..6eba34e2 100644 --- a/examples/scrollable/src/main.rs +++ b/examples/scrollable/src/main.rs @@ -14,9 +14,15 @@ struct ScrollableDemo { variants: Vec<Variant>, } +#[derive(Debug, PartialEq, Eq, Clone, Copy)] +enum ThemeType { + Light, + Dark, +} + #[derive(Debug, Clone)] enum Message { - ThemeChanged(Theme), + ThemeChanged(ThemeType), ScrollToTop(usize), ScrollToBottom(usize), Scrolled(usize, f32), @@ -45,7 +51,10 @@ impl Application for ScrollableDemo { fn update(&mut self, message: Message) -> Command<Message> { match message { Message::ThemeChanged(theme) => { - self.theme = theme; + self.theme = match theme { + ThemeType::Light => Theme::Light, + ThemeType::Dark => Theme::Dark, + }; Command::none() } @@ -78,17 +87,15 @@ impl Application for ScrollableDemo { } fn view(&self) -> Element<Message> { - let ScrollableDemo { - theme, variants, .. - } = self; + let ScrollableDemo { variants, .. } = self; - let choose_theme = [Theme::Light, Theme::Dark].iter().fold( + let choose_theme = [ThemeType::Light, ThemeType::Dark].iter().fold( column!["Choose a theme:"].spacing(10), |column, option| { column.push(radio( format!("{:?}", option), *option, - Some(*theme), + Some(*option), Message::ThemeChanged, )) }, @@ -198,7 +205,7 @@ impl Application for ScrollableDemo { } fn theme(&self) -> Theme { - self.theme + self.theme.clone() } } |