diff options
| author | pml68 <contact@pml68.dev> | 2025-04-15 23:45:14 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-04-15 23:53:07 +0200 |
| commit | 911cd4ffc291d2d9b92f90ede1d03d41edc97920 (patch) | |
| tree | e5e93359540265f05e941fb7152ddf5c8ea3a988 /theme_test | |
| parent | chore(deps): update `iced_dialog` (diff) | |
| download | iced-builder-911cd4ffc291d2d9b92f90ede1d03d41edc97920.tar.gz | |
feat(material_theme): implement `text_input::Catalog`
Diffstat (limited to '')
| -rw-r--r-- | theme_test/src/main.rs | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/theme_test/src/main.rs b/theme_test/src/main.rs index bcf16de..799d68d 100644 --- a/theme_test/src/main.rs +++ b/theme_test/src/main.rs @@ -1,6 +1,6 @@ use iced::Element; use iced::Length::Fill; -use iced::widget::{button, column, container, pick_list, row}; +use iced::widget::{button, column, container, pick_list, row, text_input}; use iced_anim::{Animated, Animation, Event}; use iced_dialog::dialog; use material_theme::button::{elevated, filled_tonal, outlined, text}; @@ -25,13 +25,15 @@ enum Message { Noop, OpenDialog, CloseDialog, + Input(String), SwitchTheme(Event<Theme>), } #[derive(Debug, Default)] pub struct State { - show_dialog: bool, theme: Animated<Theme>, + show_dialog: bool, + content: String, } impl State { @@ -44,6 +46,7 @@ impl State { Message::CloseDialog => { self.show_dialog = false; } + Message::Input(content) => self.content = content, Message::SwitchTheme(event) => { self.theme.update(event); } @@ -109,13 +112,18 @@ impl State { .style(surface_container_highest), ] .spacing(10), - pick_list( - [LIGHT.clone(), DARK.clone()], - Some(self.theme.target()), - |theme| Message::SwitchTheme(theme.into()) - ) - .placeholder("Select a theme..."), - button("Open Dialog").on_press(Message::OpenDialog) + column![ + pick_list( + [LIGHT.clone(), DARK.clone()], + Some(self.theme.target()), + |theme| Message::SwitchTheme(theme.into()) + ) + .placeholder("Select a theme..."), + button("Open Dialog").on_press(Message::OpenDialog), + text_input("Type something here...", &self.content) + .on_input(Message::Input) + ] + .spacing(10) ] .spacing(20), ) |
