Reintroduce Box for style_sheet in Button

This commit is contained in:
Héctor Ramón Jiménez 2021-10-31 16:53:18 +07:00
parent 661cb5736e
commit d36ce33a95
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
10 changed files with 42 additions and 30 deletions

View file

@ -834,12 +834,12 @@ impl Controls {
Text::new(if is_playing { "Pause" } else { "Play" }),
)
.on_press(Message::TogglePlayback)
.style(&style::Button),
.style(style::Button),
)
.push(
Button::new(&mut self.next_button, Text::new("Next"))
.on_press(Message::Next)
.style(&style::Button),
.style(style::Button),
);
let speed_controls = Row::new()
@ -883,7 +883,7 @@ impl Controls {
.push(
Button::new(&mut self.clear_button, Text::new("Clear"))
.on_press(Message::Clear)
.style(&style::Clear),
.style(style::Clear),
)
.into()
}

View file

@ -158,7 +158,7 @@ impl Application for Example {
let pin_button =
Button::new(&mut pane.pin_button, Text::new(text).size(14))
.on_press(Message::TogglePin(id))
.style(&style::Button::Pin)
.style(style::Button::Pin)
.padding(3);
let title = Row::with_children(vec![
@ -316,13 +316,13 @@ impl Content {
split_horizontally,
"Split horizontally",
Message::Split(pane_grid::Axis::Horizontal, pane),
&style::Button::Primary,
style::Button::Primary,
))
.push(button(
split_vertically,
"Split vertically",
Message::Split(pane_grid::Axis::Vertical, pane),
&style::Button::Primary,
style::Button::Primary,
));
if total_panes > 1 && !is_pinned {
@ -330,7 +330,7 @@ impl Content {
close,
"Close",
Message::Close(pane),
&style::Button::Destructive,
style::Button::Destructive,
));
}
@ -364,7 +364,7 @@ impl Controls {
) -> Element<Message> {
let mut button =
Button::new(&mut self.close, Text::new("Close").size(14))
.style(&style::Button::Control)
.style(style::Button::Control)
.padding(3);
if total_panes > 1 && !is_pinned {
button = button.on_press(Message::Close(pane));

View file

@ -243,7 +243,7 @@ impl From<reqwest::Error> for Error {
fn button<'a>(state: &'a mut button::State, text: &str) -> Button<'a, Message> {
Button::new(state, Text::new(text))
.padding(10)
.style(&style::Button::Primary)
.style(style::Button::Primary)
}
mod style {

View file

@ -112,15 +112,15 @@ impl Application for Stopwatch {
let toggle_button = {
let (label, color) = match self.state {
State::Idle => ("Start", &style::Button::Primary),
State::Ticking { .. } => ("Stop", &style::Button::Destructive),
State::Idle => ("Start", style::Button::Primary),
State::Ticking { .. } => ("Stop", style::Button::Destructive),
};
button(&mut self.toggle, label, color).on_press(Message::Toggle)
};
let reset_button =
button(&mut self.reset, "Reset", &style::Button::Secondary)
button(&mut self.reset, "Reset", style::Button::Secondary)
.on_press(Message::Reset);
let controls = Row::new()

View file

@ -82,7 +82,7 @@ impl Sandbox for Styling {
let button = Button::new(&mut self.button, Text::new("Submit"))
.padding(10)
.on_press(Message::ButtonPressed)
.style(self.theme.into());
.style(self.theme);
let slider = Slider::new(
&mut self.slider,
@ -203,11 +203,11 @@ mod style {
}
}
impl From<Theme> for &'static dyn button::StyleSheet {
impl<'a> From<Theme> for Box<dyn button::StyleSheet + 'a> {
fn from(theme: Theme) -> Self {
match theme {
Theme::Light => &light::Button,
Theme::Dark => &dark::Button,
Theme::Light => light::Button.into(),
Theme::Dark => dark::Button.into(),
}
}
}

View file

@ -304,7 +304,7 @@ impl Task {
Button::new(edit_button, edit_icon())
.on_press(TaskMessage::Edit)
.padding(10)
.style(&style::Button::Icon),
.style(style::Button::Icon),
)
.into()
}
@ -335,7 +335,7 @@ impl Task {
)
.on_press(TaskMessage::Delete)
.padding(10)
.style(&style::Button::Destructive),
.style(style::Button::Destructive),
)
.into()
}
@ -364,9 +364,9 @@ impl Controls {
let label = Text::new(label).size(16);
let button =
Button::new(state, label).style(if filter == current_filter {
&style::Button::FilterSelected
style::Button::FilterSelected
} else {
&style::Button::FilterActive
style::Button::FilterActive
});
button.on_press(Message::FilterChanged(filter)).padding(8)

View file

@ -64,7 +64,7 @@ impl Sandbox for Tour {
controls = controls.push(
button(back_button, "Back")
.on_press(Message::BackPressed)
.style(&style::Button::Secondary),
.style(style::Button::Secondary),
);
}
@ -74,7 +74,7 @@ impl Sandbox for Tour {
controls = controls.push(
button(next_button, "Next")
.on_press(Message::NextPressed)
.style(&style::Button::Primary),
.style(style::Button::Primary),
);
}