Merge pull request #1616 from pop-os/standardize-toggler-functions

Use same name & order for toggler::new and helper
This commit is contained in:
Héctor Ramón 2023-01-02 19:40:40 +01:00 committed by GitHub
commit a5a406f9de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 10 deletions

View file

@ -162,7 +162,7 @@ where
Renderer: crate::text::Renderer, Renderer: crate::text::Renderer,
Renderer::Theme: widget::toggler::StyleSheet, Renderer::Theme: widget::toggler::StyleSheet,
{ {
widget::Toggler::new(is_checked, label, f) widget::Toggler::new(label, is_checked, f)
} }
/// Creates a new [`TextInput`]. /// Creates a new [`TextInput`].

View file

@ -24,9 +24,9 @@ pub use iced_style::toggler::{Appearance, StyleSheet};
/// TogglerToggled(bool), /// TogglerToggled(bool),
/// } /// }
/// ///
/// let is_active = true; /// let is_checked = true;
/// ///
/// Toggler::new(is_active, String::from("Toggle me!"), |b| Message::TogglerToggled(b)); /// Toggler::new(String::from("Toggle me!"), is_checked, |b| Message::TogglerToggled(b));
/// ``` /// ```
#[allow(missing_debug_implementations)] #[allow(missing_debug_implementations)]
pub struct Toggler<'a, Message, Renderer> pub struct Toggler<'a, Message, Renderer>
@ -34,7 +34,7 @@ where
Renderer: text::Renderer, Renderer: text::Renderer,
Renderer::Theme: StyleSheet, Renderer::Theme: StyleSheet,
{ {
is_active: bool, is_checked: bool,
on_toggle: Box<dyn Fn(bool) -> Message + 'a>, on_toggle: Box<dyn Fn(bool) -> Message + 'a>,
label: Option<String>, label: Option<String>,
width: Length, width: Length,
@ -63,15 +63,15 @@ where
/// will receive the new state of the [`Toggler`] and must produce a /// will receive the new state of the [`Toggler`] and must produce a
/// `Message`. /// `Message`.
pub fn new<F>( pub fn new<F>(
is_active: bool,
label: impl Into<Option<String>>, label: impl Into<Option<String>>,
is_checked: bool,
f: F, f: F,
) -> Self ) -> Self
where where
F: 'a + Fn(bool) -> Message, F: 'a + Fn(bool) -> Message,
{ {
Toggler { Toggler {
is_active, is_checked,
on_toggle: Box::new(f), on_toggle: Box::new(f),
label: label.into(), label: label.into(),
width: Length::Fill, width: Length::Fill,
@ -193,7 +193,7 @@ where
let mouse_over = layout.bounds().contains(cursor_position); let mouse_over = layout.bounds().contains(cursor_position);
if mouse_over { if mouse_over {
shell.publish((self.on_toggle)(!self.is_active)); shell.publish((self.on_toggle)(!self.is_checked));
event::Status::Captured event::Status::Captured
} else { } else {
@ -260,9 +260,9 @@ where
let is_mouse_over = bounds.contains(cursor_position); let is_mouse_over = bounds.contains(cursor_position);
let style = if is_mouse_over { let style = if is_mouse_over {
theme.hovered(&self.style, self.is_active) theme.hovered(&self.style, self.is_checked)
} else { } else {
theme.active(&self.style, self.is_active) theme.active(&self.style, self.is_checked)
}; };
let border_radius = bounds.height / BORDER_RADIUS_RATIO; let border_radius = bounds.height / BORDER_RADIUS_RATIO;
@ -289,7 +289,7 @@ where
let toggler_foreground_bounds = Rectangle { let toggler_foreground_bounds = Rectangle {
x: bounds.x x: bounds.x
+ if self.is_active { + if self.is_checked {
bounds.width - 2.0 * space - (bounds.height - (4.0 * space)) bounds.width - 2.0 * space - (bounds.height - (4.0 * space))
} else { } else {
2.0 * space 2.0 * space