Skip to content

Commit 0f60253

Browse files
authored
Merge pull request #260 from 0x7CFE/fix-checkbox-label
Checkbox label is now `Into<String>`
2 parents ad0a6c4 + 3c47e3e commit 0f60253

3 files changed

Lines changed: 14 additions & 9 deletions

File tree

examples/tour/src/main.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ impl<'a> Step {
530530
|choices, language| {
531531
choices.push(Radio::new(
532532
language,
533-
language.into(),
533+
language,
534534
selection,
535535
StepMessage::LanguageSelected,
536536
))
@@ -729,16 +729,16 @@ impl Language {
729729
}
730730
}
731731

732-
impl From<Language> for &str {
733-
fn from(language: Language) -> &'static str {
734-
match language {
732+
impl From<Language> for String {
733+
fn from(language: Language) -> String {
734+
String::from(match language {
735735
Language::Rust => "Rust",
736736
Language::Elm => "Elm",
737737
Language::Ruby => "Ruby",
738738
Language::Haskell => "Haskell",
739739
Language::C => "C",
740740
Language::Other => "Other",
741-
}
741+
})
742742
}
743743
}
744744

native/src/widget/checkbox.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ impl<Message, Renderer: self::Renderer + text::Renderer>
5050
/// `Message`.
5151
///
5252
/// [`Checkbox`]: struct.Checkbox.html
53-
pub fn new<F>(is_checked: bool, label: &str, f: F) -> Self
53+
pub fn new<F>(is_checked: bool, label: impl Into<String>, f: F) -> Self
5454
where
5555
F: 'static + Fn(bool) -> Message,
5656
{
5757
Checkbox {
5858
is_checked,
5959
on_toggle: Box::new(f),
60-
label: String::from(label),
60+
label: label.into(),
6161
width: Length::Shrink,
6262
size: <Renderer as self::Renderer>::DEFAULT_SIZE,
6363
spacing: Renderer::DEFAULT_SPACING,

native/src/widget/radio.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,20 @@ impl<Message, Renderer: self::Renderer> Radio<Message, Renderer> {
5353
/// receives the value of the radio and must produce a `Message`.
5454
///
5555
/// [`Radio`]: struct.Radio.html
56-
pub fn new<F, V>(value: V, label: &str, selected: Option<V>, f: F) -> Self
56+
pub fn new<F, V>(
57+
value: V,
58+
label: impl Into<String>,
59+
selected: Option<V>,
60+
f: F,
61+
) -> Self
5762
where
5863
V: Eq + Copy,
5964
F: 'static + Fn(V) -> Message,
6065
{
6166
Radio {
6267
is_selected: Some(value) == selected,
6368
on_click: f(value),
64-
label: String::from(label),
69+
label: label.into(),
6570
style: Renderer::Style::default(),
6671
}
6772
}

0 commit comments

Comments
 (0)