Expose styling types for checkbox in iced_web
This commit is contained in:
parent
ce45ecc235
commit
abdae3a7ec
1 changed files with 20 additions and 7 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
//! Show toggle controls using checkboxes.
|
//! Show toggle controls using checkboxes.
|
||||||
use crate::{Bus, Color, Css, Element, Widget};
|
use crate::{Bus, Css, Element, Length, Widget};
|
||||||
|
|
||||||
|
pub use iced_style::checkbox::{Style, StyleSheet};
|
||||||
|
|
||||||
use dodrio::bumpalo;
|
use dodrio::bumpalo;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
@ -26,7 +28,8 @@ pub struct Checkbox<Message> {
|
||||||
is_checked: bool,
|
is_checked: bool,
|
||||||
on_toggle: Rc<dyn Fn(bool) -> Message>,
|
on_toggle: Rc<dyn Fn(bool) -> Message>,
|
||||||
label: String,
|
label: String,
|
||||||
label_color: Option<Color>,
|
width: Length,
|
||||||
|
style: Box<dyn StyleSheet>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<Message> Checkbox<Message> {
|
impl<Message> Checkbox<Message> {
|
||||||
|
|
@ -48,15 +51,24 @@ impl<Message> Checkbox<Message> {
|
||||||
is_checked,
|
is_checked,
|
||||||
on_toggle: Rc::new(f),
|
on_toggle: Rc::new(f),
|
||||||
label: String::from(label),
|
label: String::from(label),
|
||||||
label_color: None,
|
width: Length::Shrink,
|
||||||
|
style: Default::default(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets the color of the label of the [`Checkbox`].
|
/// Sets the width of the [`Checkbox`].
|
||||||
///
|
///
|
||||||
/// [`Checkbox`]: struct.Checkbox.html
|
/// [`Checkbox`]: struct.Checkbox.html
|
||||||
pub fn label_color<C: Into<Color>>(mut self, color: C) -> Self {
|
pub fn width(mut self, width: Length) -> Self {
|
||||||
self.label_color = Some(color.into());
|
self.width = width;
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Sets the style of the [`Checkbox`].
|
||||||
|
///
|
||||||
|
/// [`Checkbox`]: struct.Checkbox.html
|
||||||
|
pub fn style(mut self, style: impl Into<Box<dyn StyleSheet>>) -> Self {
|
||||||
|
self.style = style.into();
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -79,7 +91,8 @@ where
|
||||||
let on_toggle = self.on_toggle.clone();
|
let on_toggle = self.on_toggle.clone();
|
||||||
let is_checked = self.is_checked;
|
let is_checked = self.is_checked;
|
||||||
|
|
||||||
// TODO: Complete styling
|
// TODO: Styling
|
||||||
|
|
||||||
label(bump)
|
label(bump)
|
||||||
.children(vec![
|
.children(vec![
|
||||||
input(bump)
|
input(bump)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue