Add label method to Toggler
This commit is contained in:
parent
c741688b4c
commit
6e4970c01a
5 changed files with 17 additions and 11 deletions
|
|
@ -150,7 +150,8 @@ impl Editor {
|
||||||
self.is_dirty.then_some(Message::SaveFile)
|
self.is_dirty.then_some(Message::SaveFile)
|
||||||
),
|
),
|
||||||
horizontal_space(),
|
horizontal_space(),
|
||||||
toggler(Some("Word Wrap"), self.word_wrap)
|
toggler(self.word_wrap)
|
||||||
|
.label("Word Wrap")
|
||||||
.on_toggle(Message::WordWrapToggled),
|
.on_toggle(Message::WordWrapToggled),
|
||||||
pick_list(
|
pick_list(
|
||||||
highlighter::Theme::ALL,
|
highlighter::Theme::ALL,
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,8 @@ impl Styling {
|
||||||
let checkbox = checkbox("Check me!", self.checkbox_value)
|
let checkbox = checkbox("Check me!", self.checkbox_value)
|
||||||
.on_toggle(Message::CheckboxToggled);
|
.on_toggle(Message::CheckboxToggled);
|
||||||
|
|
||||||
let toggler = toggler(Some("Toggle me!"), self.toggler_value)
|
let toggler = toggler(self.toggler_value)
|
||||||
|
.label("Toggle me!")
|
||||||
.on_toggle(Message::TogglerToggled)
|
.on_toggle(Message::TogglerToggled)
|
||||||
.spacing(10);
|
.spacing(10);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -358,7 +358,8 @@ impl Tour {
|
||||||
.push("A toggler is mostly used to enable or disable something.")
|
.push("A toggler is mostly used to enable or disable something.")
|
||||||
.push(
|
.push(
|
||||||
Container::new(
|
Container::new(
|
||||||
toggler(Some("Toggle me to continue..."), self.toggler)
|
toggler(self.toggler)
|
||||||
|
.label("Toggle me to continue...")
|
||||||
.on_toggle(Message::TogglerChanged),
|
.on_toggle(Message::TogglerChanged),
|
||||||
)
|
)
|
||||||
.padding([0, 40]),
|
.padding([0, 40]),
|
||||||
|
|
|
||||||
|
|
@ -767,14 +767,13 @@ where
|
||||||
///
|
///
|
||||||
/// [`Toggler`]: crate::Toggler
|
/// [`Toggler`]: crate::Toggler
|
||||||
pub fn toggler<'a, Message, Theme, Renderer>(
|
pub fn toggler<'a, Message, Theme, Renderer>(
|
||||||
label: Option<impl text::IntoFragment<'a>>,
|
|
||||||
is_checked: bool,
|
is_checked: bool,
|
||||||
) -> Toggler<'a, Message, Theme, Renderer>
|
) -> Toggler<'a, Message, Theme, Renderer>
|
||||||
where
|
where
|
||||||
Theme: toggler::Catalog + 'a,
|
Theme: toggler::Catalog + 'a,
|
||||||
Renderer: core::text::Renderer,
|
Renderer: core::text::Renderer,
|
||||||
{
|
{
|
||||||
Toggler::new(label, is_checked)
|
Toggler::new(is_checked)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Creates a new [`TextInput`].
|
/// Creates a new [`TextInput`].
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,8 @@ use crate::core::{
|
||||||
///
|
///
|
||||||
/// let is_toggled = true;
|
/// let is_toggled = true;
|
||||||
///
|
///
|
||||||
/// Toggler::new(Some("Toggle me!"), is_toggled)
|
/// Toggler::new(is_toggled)
|
||||||
|
/// .label("Toggle me!")
|
||||||
/// .on_toggle(Message::TogglerToggled);
|
/// .on_toggle(Message::TogglerToggled);
|
||||||
/// ```
|
/// ```
|
||||||
#[allow(missing_debug_implementations)]
|
#[allow(missing_debug_implementations)]
|
||||||
|
|
@ -70,14 +71,11 @@ where
|
||||||
/// * a function that will be called when the [`Toggler`] is toggled. It
|
/// * a function that will be called when the [`Toggler`] is toggled. It
|
||||||
/// will receive the new state of the [`Toggler`] and must produce a
|
/// will receive the new state of the [`Toggler`] and must produce a
|
||||||
/// `Message`.
|
/// `Message`.
|
||||||
pub fn new(
|
pub fn new(is_toggled: bool) -> Self {
|
||||||
label: Option<impl text::IntoFragment<'a>>,
|
|
||||||
is_toggled: bool,
|
|
||||||
) -> Self {
|
|
||||||
Toggler {
|
Toggler {
|
||||||
is_toggled,
|
is_toggled,
|
||||||
on_toggle: None,
|
on_toggle: None,
|
||||||
label: label.map(text::IntoFragment::into_fragment),
|
label: None,
|
||||||
width: Length::Shrink,
|
width: Length::Shrink,
|
||||||
size: Self::DEFAULT_SIZE,
|
size: Self::DEFAULT_SIZE,
|
||||||
text_size: None,
|
text_size: None,
|
||||||
|
|
@ -91,6 +89,12 @@ where
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Sets the label of the [`Toggler`].
|
||||||
|
pub fn label(mut self, label: impl text::IntoFragment<'a>) -> Self {
|
||||||
|
self.label = Some(label.into_fragment());
|
||||||
|
self
|
||||||
|
}
|
||||||
|
|
||||||
/// Sets the message that should be produced when a user toggles
|
/// Sets the message that should be produced when a user toggles
|
||||||
/// the [`Toggler`].
|
/// the [`Toggler`].
|
||||||
///
|
///
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue