Draft nodes for missing widgets
This commit is contained in:
parent
8834772fa7
commit
655978f480
16 changed files with 191 additions and 36 deletions
|
|
@ -38,9 +38,12 @@ use crate::{
|
|||
///
|
||||
/// 
|
||||
pub struct Checkbox<Color, Message> {
|
||||
is_checked: bool,
|
||||
on_toggle: Box<dyn Fn(bool) -> Message>,
|
||||
label: String,
|
||||
/// Whether the checkbox is checked or not
|
||||
pub is_checked: bool,
|
||||
/// Toggle message to fire
|
||||
pub on_toggle: Box<dyn Fn(bool) -> Message>,
|
||||
/// The label of the checkbox
|
||||
pub label: String,
|
||||
label_color: Option<Color>,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,9 +24,11 @@ use std::hash::Hash;
|
|||
/// let image = Image::new(my_handle);
|
||||
/// ```
|
||||
pub struct Image<I> {
|
||||
image: I,
|
||||
/// The image handle
|
||||
pub image: I,
|
||||
source: Option<Rectangle<u16>>,
|
||||
width: Option<u16>,
|
||||
/// The width of the image
|
||||
pub width: Option<u16>,
|
||||
height: Option<u16>,
|
||||
style: Style,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,9 +47,12 @@ use std::hash::Hash;
|
|||
///
|
||||
/// 
|
||||
pub struct Radio<Color, Message> {
|
||||
is_selected: bool,
|
||||
on_click: Message,
|
||||
label: String,
|
||||
/// Whether the radio button is selected or not
|
||||
pub is_selected: bool,
|
||||
/// The message to produce when the radio button is clicked
|
||||
pub on_click: Message,
|
||||
/// The label of the radio button
|
||||
pub label: String,
|
||||
label_color: Option<Color>,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
//! [`State`]: struct.State.html
|
||||
use std::hash::Hash;
|
||||
use std::ops::RangeInclusive;
|
||||
use std::rc::Rc;
|
||||
|
||||
use crate::input::{mouse, ButtonState};
|
||||
use crate::{
|
||||
|
|
@ -42,9 +43,12 @@ use crate::{
|
|||
/// 
|
||||
pub struct Slider<'a, Message> {
|
||||
state: &'a mut State,
|
||||
range: RangeInclusive<f32>,
|
||||
value: f32,
|
||||
on_change: Box<dyn Fn(f32) -> Message>,
|
||||
/// The range of the slider
|
||||
pub range: RangeInclusive<f32>,
|
||||
/// The current value of the slider
|
||||
pub value: f32,
|
||||
/// The function to produce messages on change
|
||||
pub on_change: Rc<Box<dyn Fn(f32) -> Message>>,
|
||||
style: Style,
|
||||
}
|
||||
|
||||
|
|
@ -85,7 +89,7 @@ impl<'a, Message> Slider<'a, Message> {
|
|||
state,
|
||||
value: value.max(*range.start()).min(*range.end()),
|
||||
range,
|
||||
on_change: Box::new(on_change),
|
||||
on_change: Rc::new(Box::new(on_change)),
|
||||
style: Style::default().min_width(100).fill_width(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue