summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-09-18 23:05:50 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-09-19 02:30:24 +0200
commit0a95af78f46728b86cb78380791f40f008be99eb (patch)
treec492ef202be6db352d0aab20cf852660323ad6bd
parentdc2efb3fabc5378671eb91f0983464f372143c1c (diff)
downloadiced-0a95af78f46728b86cb78380791f40f008be99eb.tar.gz
iced-0a95af78f46728b86cb78380791f40f008be99eb.tar.bz2
iced-0a95af78f46728b86cb78380791f40f008be99eb.zip
Add quick example to `widget::button` module
-rw-r--r--widget/src/button.rs46
-rw-r--r--widget/src/helpers.rs16
2 files changed, 48 insertions, 14 deletions
diff --git a/widget/src/button.rs b/widget/src/button.rs
index eafa71b9..a76035f7 100644
--- a/widget/src/button.rs
+++ b/widget/src/button.rs
@@ -1,4 +1,20 @@
-//! Allow your users to perform actions by pressing a button.
+//! Buttons allow your users to perform actions by pressing them.
+//!
+//! ```no_run
+//! # mod iced { pub mod widget { pub use iced_widget::*; } }
+//! # pub type State = ();
+//! # pub type Element<'a, Message> = iced_widget::core::Element<'a, Message, iced_widget::Theme, iced_widget::Renderer>;
+//! use iced::widget::button;
+//!
+//! #[derive(Clone)]
+//! enum Message {
+//! ButtonPressed,
+//! }
+//!
+//! fn view(state: &State) -> Element<'_, Message> {
+//! button("Press me!").on_press(Message::ButtonPressed).into()
+//! }
+//! ```
use crate::core::border::{self, Border};
use crate::core::event::{self, Event};
use crate::core::layout;
@@ -17,33 +33,37 @@ use crate::core::{
/// A generic widget that produces a message when pressed.
///
/// ```no_run
-/// # type Button<'a, Message> = iced_widget::Button<'a, Message>;
-/// #
+/// # mod iced { pub mod widget { pub use iced_widget::*; } }
+/// # pub type State = ();
+/// # pub type Element<'a, Message> = iced_widget::core::Element<'a, Message, iced_widget::Theme, iced_widget::Renderer>;
+/// use iced::widget::button;
+///
/// #[derive(Clone)]
/// enum Message {
/// ButtonPressed,
/// }
///
-/// let button = Button::new("Press me!").on_press(Message::ButtonPressed);
+/// fn view(state: &State) -> Element<'_, Message> {
+/// button("Press me!").on_press(Message::ButtonPressed).into()
+/// }
/// ```
///
/// If a [`Button::on_press`] handler is not set, the resulting [`Button`] will
/// be disabled:
///
-/// ```
-/// # type Button<'a, Message> = iced_widget::Button<'a, Message>;
-/// #
+/// ```no_run
+/// # mod iced { pub mod widget { pub use iced_widget::*; } }
+/// # pub type State = ();
+/// # pub type Element<'a, Message> = iced_widget::core::Element<'a, Message, iced_widget::Theme, iced_widget::Renderer>;
+/// use iced::widget::button;
+///
/// #[derive(Clone)]
/// enum Message {
/// ButtonPressed,
/// }
///
-/// fn disabled_button<'a>() -> Button<'a, Message> {
-/// Button::new("I'm disabled!")
-/// }
-///
-/// fn enabled_button<'a>() -> Button<'a, Message> {
-/// disabled_button().on_press(Message::ButtonPressed)
+/// fn view(state: &State) -> Element<'_, Message> {
+/// button("I am disabled!").into()
/// }
/// ```
#[allow(missing_debug_implementations)]
diff --git a/widget/src/helpers.rs b/widget/src/helpers.rs
index 51978823..2ad62156 100644
--- a/widget/src/helpers.rs
+++ b/widget/src/helpers.rs
@@ -653,7 +653,21 @@ where
/// Creates a new [`Button`] with the provided content.
///
-/// [`Button`]: crate::Button
+/// ```no_run
+/// # mod iced { pub mod widget { pub use iced_widget::*; } }
+/// # pub type State = ();
+/// # pub type Element<'a, Message> = iced_widget::core::Element<'a, Message, iced_widget::Theme, iced_widget::Renderer>;
+/// use iced::widget::button;
+///
+/// #[derive(Clone)]
+/// enum Message {
+/// ButtonPressed,
+/// }
+///
+/// fn view(state: &State) -> Element<'_, Message> {
+/// button("Press me!").on_press(Message::ButtonPressed).into()
+/// }
+/// ```
pub fn button<'a, Message, Theme, Renderer>(
content: impl Into<Element<'a, Message, Theme, Renderer>>,
) -> Button<'a, Message, Theme, Renderer>