Remove Renderer trait for Checkbox
This commit is contained in:
parent
b6ae87ae55
commit
7c08c6bd13
8 changed files with 40 additions and 82 deletions
|
|
@ -24,17 +24,17 @@ use std::rc::Rc;
|
|||
///
|
||||
/// 
|
||||
#[allow(missing_debug_implementations)]
|
||||
pub struct Checkbox<Message> {
|
||||
pub struct Checkbox<'a, Message> {
|
||||
is_checked: bool,
|
||||
on_toggle: Rc<dyn Fn(bool) -> Message>,
|
||||
label: String,
|
||||
id: Option<String>,
|
||||
width: Length,
|
||||
#[allow(dead_code)]
|
||||
style: Box<dyn StyleSheet>,
|
||||
style_sheet: &'a dyn StyleSheet,
|
||||
}
|
||||
|
||||
impl<Message> Checkbox<Message> {
|
||||
impl<'a, Message> Checkbox<'a, Message> {
|
||||
/// Creates a new [`Checkbox`].
|
||||
///
|
||||
/// It expects:
|
||||
|
|
@ -53,7 +53,7 @@ impl<Message> Checkbox<Message> {
|
|||
label: label.into(),
|
||||
id: None,
|
||||
width: Length::Shrink,
|
||||
style: Default::default(),
|
||||
style_sheet: Default::default(),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -64,8 +64,8 @@ impl<Message> Checkbox<Message> {
|
|||
}
|
||||
|
||||
/// Sets the style of the [`Checkbox`].
|
||||
pub fn style(mut self, style: impl Into<Box<dyn StyleSheet>>) -> Self {
|
||||
self.style = style.into();
|
||||
pub fn style(mut self, style_sheet: &'a dyn StyleSheet) -> Self {
|
||||
self.style_sheet = style_sheet;
|
||||
self
|
||||
}
|
||||
|
||||
|
|
@ -76,7 +76,7 @@ impl<Message> Checkbox<Message> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<Message> Widget<Message> for Checkbox<Message>
|
||||
impl<'a, Message> Widget<Message> for Checkbox<'a, Message>
|
||||
where
|
||||
Message: 'static,
|
||||
{
|
||||
|
|
@ -137,11 +137,11 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
impl<'a, Message> From<Checkbox<Message>> for Element<'a, Message>
|
||||
impl<'a, Message> From<Checkbox<'a, Message>> for Element<'a, Message>
|
||||
where
|
||||
Message: 'static,
|
||||
{
|
||||
fn from(checkbox: Checkbox<Message>) -> Element<'a, Message> {
|
||||
fn from(checkbox: Checkbox<'a, Message>) -> Element<'a, Message> {
|
||||
Element::new(checkbox)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue