From 28d09bfff1dde55190986bab10d7aaeb0ceb49de Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Fri, 27 May 2022 01:26:57 +0200 Subject: Implement theme styling for `Radio` --- pure/src/helpers.rs | 5 +++-- pure/src/widget/radio.rs | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'pure/src') diff --git a/pure/src/helpers.rs b/pure/src/helpers.rs index d8741b09..159256ed 100644 --- a/pure/src/helpers.rs +++ b/pure/src/helpers.rs @@ -100,15 +100,16 @@ where /// Creates a new [`Radio`]. /// /// [`Radio`]: widget::Radio -pub fn radio<'a, Message, Renderer, V>( +pub fn radio( label: impl Into, value: V, selected: Option, on_click: impl FnOnce(V) -> Message, -) -> widget::Radio<'a, Message, Renderer> +) -> widget::Radio where Message: Clone, Renderer: iced_native::text::Renderer, + Renderer::Theme: widget::radio::StyleSheet, V: Copy + Eq, { widget::Radio::new(value, label, selected, on_click) diff --git a/pure/src/widget/radio.rs b/pure/src/widget/radio.rs index c92c8dbc..9a8885e0 100644 --- a/pure/src/widget/radio.rs +++ b/pure/src/widget/radio.rs @@ -9,13 +9,13 @@ use iced_native::renderer; use iced_native::text; use iced_native::{Clipboard, Length, Point, Rectangle, Shell}; -pub use iced_native::widget::radio::{Radio, Style, StyleSheet}; +pub use iced_native::widget::radio::{Appearance, Radio, StyleSheet}; -impl<'a, Message, Renderer> Widget - for Radio<'a, Message, Renderer> +impl Widget for Radio where Message: Clone, Renderer: text::Renderer, + Renderer::Theme: StyleSheet, { fn width(&self) -> Length { >::width(self) @@ -96,10 +96,11 @@ where } impl<'a, Message, Renderer> Into> - for Radio<'a, Message, Renderer> + for Radio where Message: 'a + Clone, Renderer: text::Renderer + 'a, + Renderer::Theme: StyleSheet, { fn into(self) -> Element<'a, Message, Renderer> { Element::new(self) -- cgit