Skip to content

Commit 6e4970c

Browse files
committed
Add label method to Toggler
1 parent c741688 commit 6e4970c

5 files changed

Lines changed: 17 additions & 11 deletions

File tree

examples/editor/src/main.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,8 @@ impl Editor {
150150
self.is_dirty.then_some(Message::SaveFile)
151151
),
152152
horizontal_space(),
153-
toggler(Some("Word Wrap"), self.word_wrap)
153+
toggler(self.word_wrap)
154+
.label("Word Wrap")
154155
.on_toggle(Message::WordWrapToggled),
155156
pick_list(
156157
highlighter::Theme::ALL,

examples/styling/src/main.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ impl Styling {
7777
let checkbox = checkbox("Check me!", self.checkbox_value)
7878
.on_toggle(Message::CheckboxToggled);
7979

80-
let toggler = toggler(Some("Toggle me!"), self.toggler_value)
80+
let toggler = toggler(self.toggler_value)
81+
.label("Toggle me!")
8182
.on_toggle(Message::TogglerToggled)
8283
.spacing(10);
8384

examples/tour/src/main.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,8 @@ impl Tour {
358358
.push("A toggler is mostly used to enable or disable something.")
359359
.push(
360360
Container::new(
361-
toggler(Some("Toggle me to continue..."), self.toggler)
361+
toggler(self.toggler)
362+
.label("Toggle me to continue...")
362363
.on_toggle(Message::TogglerChanged),
363364
)
364365
.padding([0, 40]),

widget/src/helpers.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -767,14 +767,13 @@ where
767767
///
768768
/// [`Toggler`]: crate::Toggler
769769
pub fn toggler<'a, Message, Theme, Renderer>(
770-
label: Option<impl text::IntoFragment<'a>>,
771770
is_checked: bool,
772771
) -> Toggler<'a, Message, Theme, Renderer>
773772
where
774773
Theme: toggler::Catalog + 'a,
775774
Renderer: core::text::Renderer,
776775
{
777-
Toggler::new(label, is_checked)
776+
Toggler::new(is_checked)
778777
}
779778

780779
/// Creates a new [`TextInput`].

widget/src/toggler.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ use crate::core::{
2626
///
2727
/// let is_toggled = true;
2828
///
29-
/// Toggler::new(Some("Toggle me!"), is_toggled)
29+
/// Toggler::new(is_toggled)
30+
/// .label("Toggle me!")
3031
/// .on_toggle(Message::TogglerToggled);
3132
/// ```
3233
#[allow(missing_debug_implementations)]
@@ -70,14 +71,11 @@ where
7071
/// * a function that will be called when the [`Toggler`] is toggled. It
7172
/// will receive the new state of the [`Toggler`] and must produce a
7273
/// `Message`.
73-
pub fn new(
74-
label: Option<impl text::IntoFragment<'a>>,
75-
is_toggled: bool,
76-
) -> Self {
74+
pub fn new(is_toggled: bool) -> Self {
7775
Toggler {
7876
is_toggled,
7977
on_toggle: None,
80-
label: label.map(text::IntoFragment::into_fragment),
78+
label: None,
8179
width: Length::Shrink,
8280
size: Self::DEFAULT_SIZE,
8381
text_size: None,
@@ -91,6 +89,12 @@ where
9189
}
9290
}
9391

92+
/// Sets the label of the [`Toggler`].
93+
pub fn label(mut self, label: impl text::IntoFragment<'a>) -> Self {
94+
self.label = Some(label.into_fragment());
95+
self
96+
}
97+
9498
/// Sets the message that should be produced when a user toggles
9599
/// the [`Toggler`].
96100
///

0 commit comments

Comments
 (0)