Implement theme styling for Radio
This commit is contained in:
parent
d988d813d7
commit
28d09bfff1
10 changed files with 86 additions and 157 deletions
|
|
@ -100,15 +100,16 @@ where
|
|||
/// Creates a new [`Radio`].
|
||||
///
|
||||
/// [`Radio`]: widget::Radio
|
||||
pub fn radio<'a, Message, Renderer, V>(
|
||||
pub fn radio<Message, Renderer, V>(
|
||||
label: impl Into<String>,
|
||||
value: V,
|
||||
selected: Option<V>,
|
||||
on_click: impl FnOnce(V) -> Message,
|
||||
) -> widget::Radio<'a, Message, Renderer>
|
||||
) -> widget::Radio<Message, Renderer>
|
||||
where
|
||||
Message: Clone,
|
||||
Renderer: iced_native::text::Renderer,
|
||||
Renderer::Theme: widget::radio::StyleSheet,
|
||||
V: Copy + Eq,
|
||||
{
|
||||
widget::Radio::new(value, label, selected, on_click)
|
||||
|
|
|
|||
|
|
@ -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<Message, Renderer>
|
||||
for Radio<'a, Message, Renderer>
|
||||
impl<Message, Renderer> Widget<Message, Renderer> for Radio<Message, Renderer>
|
||||
where
|
||||
Message: Clone,
|
||||
Renderer: text::Renderer,
|
||||
Renderer::Theme: StyleSheet,
|
||||
{
|
||||
fn width(&self) -> Length {
|
||||
<Self as iced_native::Widget<Message, Renderer>>::width(self)
|
||||
|
|
@ -96,10 +96,11 @@ where
|
|||
}
|
||||
|
||||
impl<'a, Message, Renderer> Into<Element<'a, Message, Renderer>>
|
||||
for Radio<'a, Message, Renderer>
|
||||
for Radio<Message, Renderer>
|
||||
where
|
||||
Message: 'a + Clone,
|
||||
Renderer: text::Renderer + 'a,
|
||||
Renderer::Theme: StyleSheet,
|
||||
{
|
||||
fn into(self) -> Element<'a, Message, Renderer> {
|
||||
Element::new(self)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue