diff options
author | 2024-09-19 03:03:11 +0200 | |
---|---|---|
committer | 2024-09-19 03:03:11 +0200 | |
commit | 51f7ce73248bea2bb7cc2b662433e46fa0c44dcb (patch) | |
tree | a781075250aa1b5f340b42471e91033d5c0eebb4 | |
parent | 5d25562644907488203604769f338feb2c7df9b0 (diff) | |
download | iced-51f7ce73248bea2bb7cc2b662433e46fa0c44dcb.tar.gz iced-51f7ce73248bea2bb7cc2b662433e46fa0c44dcb.tar.bz2 iced-51f7ce73248bea2bb7cc2b662433e46fa0c44dcb.zip |
Show `checkbox` doc example in multiple places
-rw-r--r-- | widget/src/button.rs | 2 | ||||
-rw-r--r-- | widget/src/canvas.rs | 4 | ||||
-rw-r--r-- | widget/src/checkbox.rs | 60 | ||||
-rw-r--r-- | widget/src/helpers.rs | 34 |
4 files changed, 89 insertions, 11 deletions
diff --git a/widget/src/button.rs b/widget/src/button.rs index a76035f7..3323c0d3 100644 --- a/widget/src/button.rs +++ b/widget/src/button.rs @@ -1,5 +1,6 @@ //! Buttons allow your users to perform actions by pressing them. //! +//! # Example //! ```no_run //! # mod iced { pub mod widget { pub use iced_widget::*; } } //! # pub type State = (); @@ -32,6 +33,7 @@ use crate::core::{ /// A generic widget that produces a message when pressed. /// +/// # Example /// ```no_run /// # mod iced { pub mod widget { pub use iced_widget::*; } } /// # pub type State = (); diff --git a/widget/src/canvas.rs b/widget/src/canvas.rs index fb6d55e1..bb6b0353 100644 --- a/widget/src/canvas.rs +++ b/widget/src/canvas.rs @@ -1,6 +1,6 @@ //! Draw 2D graphics for your users. //! -//! ## Drawing a simple circle +//! # Example: Drawing a Simple Circle //! Here's how we can use a [`Canvas`] to draw a simple circle: //! //! ```no_run @@ -90,7 +90,7 @@ pub type Frame<Renderer = crate::Renderer> = geometry::Frame<Renderer>; /// A widget capable of drawing 2D graphics. /// -/// ## Drawing a simple circle +/// # Example: Drawing a Simple Circle /// Here's how we can use a [`Canvas`] to draw a simple circle: /// /// ```no_run diff --git a/widget/src/checkbox.rs b/widget/src/checkbox.rs index 32db5090..4a3f35ed 100644 --- a/widget/src/checkbox.rs +++ b/widget/src/checkbox.rs @@ -1,4 +1,35 @@ -//! Show toggle controls using checkboxes. +//! Checkboxes can be used to let users make binary choices. +//! +//! # Example +//! ```no_run +//! # mod iced { pub mod widget { pub use iced_widget::*; } pub use iced_widget::Renderer; pub use iced_widget::core::*; } +//! # pub type Element<'a, Message> = iced_widget::core::Element<'a, Message, iced_widget::Theme, iced_widget::Renderer>; +//! # +//! use iced::widget::checkbox; +//! +//! struct State { +//! is_checked: bool, +//! } +//! +//! enum Message { +//! CheckboxToggled(bool), +//! } +//! +//! fn view(state: &State) -> Element<'_, Message> { +//! checkbox("Toggle me!", state.is_checked) +//! .on_toggle(Message::CheckboxToggled) +//! .into() +//! } +//! +//! fn update(state: &mut State, message: Message) { +//! match message { +//! Message::CheckboxToggled(is_checked) => { +//! state.is_checked = is_checked; +//! } +//! } +//! } +//! ``` +//!  use crate::core::alignment; use crate::core::event::{self, Event}; use crate::core::layout; @@ -17,19 +48,34 @@ use crate::core::{ /// A box that can be checked. /// /// # Example -/// /// ```no_run -/// # type Checkbox<'a, Message> = iced_widget::Checkbox<'a, Message>; +/// # mod iced { pub mod widget { pub use iced_widget::*; } pub use iced_widget::Renderer; pub use iced_widget::core::*; } +/// # pub type Element<'a, Message> = iced_widget::core::Element<'a, Message, iced_widget::Theme, iced_widget::Renderer>; /// # -/// pub enum Message { +/// use iced::widget::checkbox; +/// +/// struct State { +/// is_checked: bool, +/// } +/// +/// enum Message { /// CheckboxToggled(bool), /// } /// -/// let is_checked = true; +/// fn view(state: &State) -> Element<'_, Message> { +/// checkbox("Toggle me!", state.is_checked) +/// .on_toggle(Message::CheckboxToggled) +/// .into() +/// } /// -/// Checkbox::new("Toggle me!", is_checked).on_toggle(Message::CheckboxToggled); +/// fn update(state: &mut State, message: Message) { +/// match message { +/// Message::CheckboxToggled(is_checked) => { +/// state.is_checked = is_checked; +/// } +/// } +/// } /// ``` -/// ///  #[allow(missing_debug_implementations)] pub struct Checkbox< diff --git a/widget/src/helpers.rs b/widget/src/helpers.rs index 30d40edc..1ed0bde2 100644 --- a/widget/src/helpers.rs +++ b/widget/src/helpers.rs @@ -653,6 +653,7 @@ where /// Creates a new [`Button`] with the provided content. /// +/// # Example /// ```no_run /// # mod iced { pub mod widget { pub use iced_widget::*; } } /// # pub type State = (); @@ -747,7 +748,36 @@ pub use crate::markdown::view as markdown; /// Creates a new [`Checkbox`]. /// -/// [`Checkbox`]: crate::Checkbox +/// # Example +/// ```no_run +/// # mod iced { pub mod widget { pub use iced_widget::*; } pub use iced_widget::Renderer; pub use iced_widget::core::*; } +/// # pub type Element<'a, Message> = iced_widget::core::Element<'a, Message, iced_widget::Theme, iced_widget::Renderer>; +/// # +/// use iced::widget::checkbox; +/// +/// struct State { +/// is_checked: bool, +/// } +/// +/// enum Message { +/// CheckboxToggled(bool), +/// } +/// +/// fn view(state: &State) -> Element<'_, Message> { +/// checkbox("Toggle me!", state.is_checked) +/// .on_toggle(Message::CheckboxToggled) +/// .into() +/// } +/// +/// fn update(state: &mut State, message: Message) { +/// match message { +/// Message::CheckboxToggled(is_checked) => { +/// state.is_checked = is_checked; +/// } +/// } +/// } +/// ``` +///  pub fn checkbox<'a, Message, Theme, Renderer>( label: impl Into<String>, is_checked: bool, @@ -1001,7 +1031,7 @@ where /// /// [`Canvas`]: crate::Canvas /// -/// ## Drawing a simple circle +/// # Example: Drawing a Simple Circle /// Here's how we can use a [`Canvas`] to draw a simple circle: /// /// ```no_run |