diff options
| author | 2024-03-12 18:17:19 +0100 | |
|---|---|---|
| committer | 2024-03-12 18:17:19 +0100 | |
| commit | 3d915d3cb30e5d08829aa2928676a53c505a601e (patch) | |
| tree | 4acb46e00ef3037aad6a8273ab67d4278d560784 /examples | |
| parent | 34317bba5db0a0f9e3ffdbbac0d7136a32bd0f95 (diff) | |
| parent | 98621aa344a7a0e1b23f320d21a4687af559998e (diff) | |
| download | iced-3d915d3cb30e5d08829aa2928676a53c505a601e.tar.gz iced-3d915d3cb30e5d08829aa2928676a53c505a601e.tar.bz2 iced-3d915d3cb30e5d08829aa2928676a53c505a601e.zip | |
Merge pull request #2326 from iced-rs/closure-styles
Use closures for widget styling
Diffstat (limited to '')
| -rw-r--r-- | examples/checkbox/src/main.rs | 11 | ||||
| -rw-r--r-- | examples/component/src/main.rs | 10 | ||||
| -rw-r--r-- | examples/gradient/src/main.rs | 20 | ||||
| -rw-r--r-- | examples/svg/src/main.rs | 12 |
4 files changed, 29 insertions, 24 deletions
diff --git a/examples/checkbox/src/main.rs b/examples/checkbox/src/main.rs index 121c99ea..ee745c03 100644 --- a/examples/checkbox/src/main.rs +++ b/examples/checkbox/src/main.rs @@ -63,17 +63,16 @@ impl Application for Example { let default_checkbox = checkbox("Default", self.default) .on_toggle(Message::DefaultToggled); - let styled_checkbox = |label, style| { + let styled_checkbox = |label| { checkbox(label, self.styled) .on_toggle_maybe(self.default.then_some(Message::StyledToggled)) - .style(style) }; let checkboxes = row![ - styled_checkbox("Primary", checkbox::primary), - styled_checkbox("Secondary", checkbox::secondary), - styled_checkbox("Success", checkbox::success), - styled_checkbox("Danger", checkbox::danger), + styled_checkbox("Primary").style(checkbox::primary), + styled_checkbox("Secondary").style(checkbox::secondary), + styled_checkbox("Success").style(checkbox::success), + styled_checkbox("Danger").style(checkbox::danger), ] .spacing(20); diff --git a/examples/component/src/main.rs b/examples/component/src/main.rs index a1572b1d..d4f99798 100644 --- a/examples/component/src/main.rs +++ b/examples/component/src/main.rs @@ -83,7 +83,10 @@ mod numeric_input { impl<Message, Theme> Component<Message, Theme> for NumericInput<Message> where - Theme: button::DefaultStyle + text_input::DefaultStyle + 'static, + Theme: text::DefaultStyle + + button::DefaultStyle + + text_input::DefaultStyle + + 'static, { type State = (); type Event = Event; @@ -158,7 +161,10 @@ mod numeric_input { impl<'a, Message, Theme> From<NumericInput<Message>> for Element<'a, Message, Theme> where - Theme: button::DefaultStyle + text_input::DefaultStyle + 'static, + Theme: text::DefaultStyle + + button::DefaultStyle + + text_input::DefaultStyle + + 'static, Message: 'a, { fn from(numeric_input: NumericInput<Message>) -> Self { diff --git a/examples/gradient/src/main.rs b/examples/gradient/src/main.rs index 4a8b2fa5..8ed4c830 100644 --- a/examples/gradient/src/main.rs +++ b/examples/gradient/src/main.rs @@ -1,6 +1,6 @@ use iced::application; use iced::widget::{ - checkbox, column, container, horizontal_space, row, slider, text, themer, + checkbox, column, container, horizontal_space, row, slider, text, }; use iced::{gradient, window}; use iced::{ @@ -70,16 +70,16 @@ impl Sandbox for Gradient { transparent, } = *self; - let gradient = gradient::Linear::new(angle) - .add_stop(0.0, start) - .add_stop(1.0, end); + let gradient_box = container(horizontal_space()) + .style(move |_theme, _status| { + let gradient = gradient::Linear::new(angle) + .add_stop(0.0, start) + .add_stop(1.0, end); - let gradient_box = themer( - gradient, - container(horizontal_space()) - .width(Length::Fill) - .height(Length::Fill), - ); + gradient.into() + }) + .width(Length::Fill) + .height(Length::Fill); let angle_picker = row