Add quick example to widget::button module
This commit is contained in:
parent
dc2efb3fab
commit
0a95af78f4
2 changed files with 48 additions and 14 deletions
|
|
@ -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::border::{self, Border};
|
||||||
use crate::core::event::{self, Event};
|
use crate::core::event::{self, Event};
|
||||||
use crate::core::layout;
|
use crate::core::layout;
|
||||||
|
|
@ -17,33 +33,37 @@ use crate::core::{
|
||||||
/// A generic widget that produces a message when pressed.
|
/// A generic widget that produces a message when pressed.
|
||||||
///
|
///
|
||||||
/// ```no_run
|
/// ```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)]
|
/// #[derive(Clone)]
|
||||||
/// enum Message {
|
/// enum Message {
|
||||||
/// ButtonPressed,
|
/// 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
|
/// If a [`Button::on_press`] handler is not set, the resulting [`Button`] will
|
||||||
/// be disabled:
|
/// be disabled:
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```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)]
|
/// #[derive(Clone)]
|
||||||
/// enum Message {
|
/// enum Message {
|
||||||
/// ButtonPressed,
|
/// ButtonPressed,
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
/// fn disabled_button<'a>() -> Button<'a, Message> {
|
/// fn view(state: &State) -> Element<'_, Message> {
|
||||||
/// Button::new("I'm disabled!")
|
/// button("I am disabled!").into()
|
||||||
/// }
|
|
||||||
///
|
|
||||||
/// fn enabled_button<'a>() -> Button<'a, Message> {
|
|
||||||
/// disabled_button().on_press(Message::ButtonPressed)
|
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[allow(missing_debug_implementations)]
|
#[allow(missing_debug_implementations)]
|
||||||
|
|
|
||||||
|
|
@ -653,7 +653,21 @@ where
|
||||||
|
|
||||||
/// Creates a new [`Button`] with the provided content.
|
/// 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>(
|
pub fn button<'a, Message, Theme, Renderer>(
|
||||||
content: impl Into<Element<'a, Message, Theme, Renderer>>,
|
content: impl Into<Element<'a, Message, Theme, Renderer>>,
|
||||||
) -> Button<'a, Message, Theme, Renderer>
|
) -> Button<'a, Message, Theme, Renderer>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue