Make label optional for checkbox widget

This commit is contained in:
Sebastiano Giordano 2025-04-03 17:29:13 +02:00 committed by Héctor Ramón Jiménez
parent a2d052982b
commit 0d2aa41dee
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
15 changed files with 87 additions and 58 deletions

View file

@ -39,11 +39,13 @@ impl Example {
}
fn view(&self) -> Element<'_, Message> {
let default_checkbox = checkbox("Default", self.default)
let default_checkbox = checkbox(self.default)
.label("Default")
.on_toggle(Message::DefaultToggled);
let styled_checkbox = |label| {
checkbox(label, self.styled)
checkbox(self.styled)
.label(label)
.on_toggle_maybe(self.default.then_some(Message::StyledToggled))
};
@ -55,7 +57,8 @@ impl Example {
]
.spacing(20);
let custom_checkbox = checkbox("Custom", self.custom)
let custom_checkbox = checkbox(self.custom)
.label("Custom")
.on_toggle(Message::CustomToggled)
.icon(checkbox::Icon {
font: ICON_FONT,

View file

@ -73,7 +73,8 @@ impl IcedCubes {
.step(0.01)
.width(100),
),
checkbox("Show Depth Buffer", self.scene.show_depth_buffer)
checkbox(self.scene.show_depth_buffer)
.label("Show Depth Buffer")
.on_toggle(Message::ShowDepthBuffer),
]
.spacing(40);

View file

@ -63,7 +63,8 @@ impl Events {
.map(Element::from),
);
let toggle = checkbox("Listen to runtime events", self.enabled)
let toggle = checkbox(self.enabled)
.label("Listen to runtime events")
.on_toggle(Message::Toggled);
let exit = button(text("Exit").width(Fill).align_x(Center))

View file

@ -153,7 +153,8 @@ impl Image {
self.rotation.degrees(),
Message::RotationChanged
),
checkbox("Spin!", self.spin)
checkbox(self.spin)
.label("Spin!")
.text_size(12)
.on_toggle(Message::SpinToggled)
.size(12)

View file

@ -162,7 +162,9 @@ fn view_controls<'a>(
row![
playback_controls,
speed_controls,
checkbox("Grid", is_grid_enabled).on_toggle(Message::ToggleGrid),
checkbox(is_grid_enabled)
.label("Grid")
.on_toggle(Message::ToggleGrid),
row![
pick_list(preset::ALL, Some(preset), Message::PresetPicked),
button("Clear")

View file

@ -78,7 +78,8 @@ impl Gradient {
.align_y(Center);
let transparency_toggle = iced::widget::Container::new(
checkbox("Transparent window", transparent)
checkbox(transparent)
.label("Transparent window")
.on_toggle(Message::TransparentToggled),
)
.padding(8);

View file

@ -71,7 +71,8 @@ impl Layout {
let header = row![
text(self.example.title).size(20).font(Font::MONOSPACE),
space::horizontal(),
checkbox("Explain", self.explain)
checkbox(self.explain)
.label("Explain")
.on_toggle(Message::ExplainToggled),
pick_list(Theme::ALL, self.theme.as_ref(), Message::ThemeSelected)
.placeholder("Theme"),

View file

@ -58,7 +58,8 @@ impl Progress {
)
},
center_x(
checkbox("Vertical", self.is_vertical)
checkbox(self.is_vertical)
.label("Vertical")
.on_toggle(Message::ToggleVertical)
),
]

View file

@ -133,10 +133,11 @@ impl Styling {
.width(Fill)
.height(Fill);
let check = checkbox("Check me!", self.checkbox_value)
let check = checkbox(self.checkbox_value)
.label("Check me!")
.on_toggle(Message::CheckboxToggled);
let check_disabled = checkbox("Disabled", self.checkbox_value);
let check_disabled = checkbox(self.checkbox_value).label("Disabled");
let toggle = toggler(self.toggler_value)
.label("Toggle me!")

View file

@ -37,9 +37,9 @@ impl Tiger {
},
});
let apply_color_filter =
checkbox("Apply a color filter", self.apply_color_filter)
.on_toggle(Message::ToggleColorFilter);
let apply_color_filter = checkbox(self.apply_color_filter)
.label("Apply a color filter")
.on_toggle(Message::ToggleColorFilter);
center(column![svg, center_x(apply_color_filter)].spacing(20))
.padding(20)

View file

@ -339,7 +339,8 @@ impl Task {
fn view(&self, i: usize) -> Element<'_, TaskMessage> {
match &self.state {
TaskState::Idle => {
let checkbox = checkbox(&self.description, self.completed)
let checkbox = checkbox(self.completed)
.label(&self.description)
.on_toggle(TaskMessage::Completed)
.width(Fill)
.size(17)

View file

@ -386,11 +386,9 @@ impl Tour {
.push(slider(100..=500, width, Message::ImageWidthChanged))
.push(text!("Width: {width} px").width(Fill).align_x(Center))
.push(
checkbox(
"Use nearest interpolation",
filter_method == image::FilterMethod::Nearest,
)
.on_toggle(Message::ImageUseNearestToggled),
checkbox(filter_method == image::FilterMethod::Nearest)
.label("Use nearest interpolation")
.on_toggle(Message::ImageUseNearestToggled),
)
.align_x(Center)
}
@ -441,11 +439,13 @@ impl Tour {
.push("Use a text input to ask for different kinds of information.")
.push(text_input.secure(is_secure))
.push(
checkbox("Enable password mode", is_secure)
checkbox(is_secure)
.label("Enable password mode")
.on_toggle(Message::ToggleSecureInput),
)
.push(
checkbox("Show icon", is_showing_icon)
checkbox(is_showing_icon)
.label("Show icon")
.on_toggle(Message::ToggleTextInputIcon),
)
.push(
@ -474,7 +474,8 @@ impl Tour {
see element boundaries.",
)
.push(
checkbox("Explain layout", self.debug)
checkbox(self.debug)
.label("Explain layout")
.on_toggle(Message::DebugToggled),
)
.push("Feel free to go back and take a look.")

View file

@ -58,7 +58,8 @@ impl VectorialText {
column![
canvas(&self.state).width(Fill).height(Fill),
column![
checkbox("Use Japanese", self.state.use_japanese,)
checkbox(self.state.use_japanese,)
.label("Use Japanese")
.on_toggle(Message::ToggleJapanese),
row![
slider_with_label(