summaryrefslogtreecommitdiffstats
path: root/examples/styling/src/main.rs
diff options
context:
space:
mode:
authorLibravatar Var Bhat <mailvarbhat@gmail.com>2023-12-22 02:10:53 +0530
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-03 18:29:25 +0100
commit04b9dc4e2de4d36c2de7d537bb71694278bb79f0 (patch)
treeee32ff768ce85b9eabbb94acec7d643b083962d5 /examples/styling/src/main.rs
parent6492d9d92793fca74adbc6aaaa8341e3ff4d37ab (diff)
downloadiced-04b9dc4e2de4d36c2de7d537bb71694278bb79f0.tar.gz
iced-04b9dc4e2de4d36c2de7d537bb71694278bb79f0.tar.bz2
iced-04b9dc4e2de4d36c2de7d537bb71694278bb79f0.zip
Add Dracula, Nord, Solarized and Grubvox variants to `Theme`
Diffstat (limited to '')
-rw-r--r--examples/styling/src/main.rs63
1 files changed, 45 insertions, 18 deletions
diff --git a/examples/styling/src/main.rs b/examples/styling/src/main.rs
index 4718a123..8a7963d0 100644
--- a/examples/styling/src/main.rs
+++ b/examples/styling/src/main.rs
@@ -23,6 +23,12 @@ struct Styling {
enum ThemeType {
Light,
Dark,
+ Nord,
+ GruvboxLight,
+ GruvboxDark,
+ Dracula,
+ SolarizedLight,
+ SolarizedDark,
Custom,
}
@@ -53,6 +59,12 @@ impl Sandbox for Styling {
self.theme = match theme {
ThemeType::Light => Theme::Light,
ThemeType::Dark => Theme::Dark,
+ ThemeType::Nord => Theme::Nord,
+ ThemeType::GruvboxLight => Theme::GruvboxLight,
+ ThemeType::GruvboxDark => Theme::GruvboxDark,
+ ThemeType::Dracula => Theme::Dracula,
+ ThemeType::SolarizedLight => Theme::SolarizedLight,
+ ThemeType::SolarizedDark => Theme::SolarizedDark,
ThemeType::Custom => Theme::custom(
String::from("Custom"),
theme::Palette {
@@ -74,24 +86,39 @@ impl Sandbox for Styling {
}
fn view(&self) -> Element<Message> {
- let choose_theme =
- [ThemeType::Light, ThemeType::Dark, ThemeType::Custom]
- .iter()
- .fold(
- column![text("Choose a theme:")].spacing(10),
- |column, theme| {
- column.push(radio(
- format!("{theme:?}"),
- *theme,
- Some(match self.theme {
- Theme::Light => ThemeType::Light,
- Theme::Dark => ThemeType::Dark,
- Theme::Custom { .. } => ThemeType::Custom,
- }),
- Message::ThemeChanged,
- ))
- },
- );
+ let choose_theme = [
+ ThemeType::Light,
+ ThemeType::Dark,
+ ThemeType::Nord,
+ ThemeType::Dracula,
+ ThemeType::SolarizedLight,
+ ThemeType::SolarizedDark,
+ ThemeType::GruvboxLight,
+ ThemeType::GruvboxDark,
+ ThemeType::Custom,
+ ]
+ .iter()
+ .fold(
+ column![text("Choose a theme:")].spacing(10),
+ |column, theme| {
+ column.push(radio(
+ format!("{theme:?}"),
+ *theme,
+ Some(match self.theme {
+ Theme::Light => ThemeType::Light,
+ Theme::Dark => ThemeType::Dark,
+ Theme::Dracula => ThemeType::Dracula,
+ Theme::Nord => ThemeType::Nord,
+ Theme::SolarizedLight => ThemeType::SolarizedLight,
+ Theme::SolarizedDark => ThemeType::SolarizedDark,
+ Theme::GruvboxLight => ThemeType::GruvboxLight,
+ Theme::GruvboxDark => ThemeType::GruvboxDark,
+ Theme::Custom { .. } => ThemeType::Custom,
+ }),
+ Message::ThemeChanged,
+ ))
+ },
+ );
let text_input = text_input("Type something...", &self.input_value)
.on_input(Message::InputChanged)