summaryrefslogtreecommitdiffstats
path: root/widget/src/button.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2024-09-19 06:59:05 +0200
committerLibravatar GitHub <noreply@github.com>2024-09-19 06:59:05 +0200
commitddbb8445bf60de7169727721a5cb57048ded3d82 (patch)
tree1f2b90d5f0e010be72e4bbd20da6c22e1478b573 /widget/src/button.rs
parent1f8dc1f3dda25c699b94c653d5d569f4142e9b83 (diff)
parent31c42c1d02d6a76dedaa780e6832a23765c8aef2 (diff)
downloadiced-ddbb8445bf60de7169727721a5cb57048ded3d82.tar.gz
iced-ddbb8445bf60de7169727721a5cb57048ded3d82.tar.bz2
iced-ddbb8445bf60de7169727721a5cb57048ded3d82.zip
Merge pull request #2587 from iced-rs/improve-api-reference
Add widget examples to API reference and update `README`
Diffstat (limited to 'widget/src/button.rs')
-rw-r--r--widget/src/button.rs48
1 files changed, 35 insertions, 13 deletions
diff --git a/widget/src/button.rs b/widget/src/button.rs
index eafa71b9..3323c0d3 100644
--- a/widget/src/button.rs
+++ b/widget/src/button.rs
@@ -1,4 +1,21 @@
-//! Allow your users to perform actions by pressing a button.
+//! 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 = ();
+//! # 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;
@@ -16,34 +33,39 @@ use crate::core::{
/// A generic widget that produces a message when pressed.
///
+/// # Example
/// ```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)]