Skip to content

Commit e919688

Browse files
committed
Add label method to Toggler
1 parent 9f72b74 commit e919688

5 files changed

Lines changed: 15 additions & 10 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: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,11 @@ where
6969
/// * a function that will be called when the [`Toggler`] is toggled. It
7070
/// will receive the new state of the [`Toggler`] and must produce a
7171
/// `Message`.
72-
pub fn new(
73-
label: Option<impl text::IntoFragment<'a>>,
74-
is_toggled: bool,
75-
) -> Self {
72+
pub fn new(is_toggled: bool) -> Self {
7673
Toggler {
7774
is_toggled,
7875
on_toggle: None,
79-
label: label.map(text::IntoFragment::into_fragment),
76+
label: None,
8077
width: Length::Shrink,
8178
size: Self::DEFAULT_SIZE,
8279
text_size: None,
@@ -90,6 +87,12 @@ where
9087
}
9188
}
9289

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

0 commit comments

Comments
 (0)