summaryrefslogtreecommitdiffstats
path: root/widget/src/helpers.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-09-19 05:42:21 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-09-19 05:42:21 +0200
commit10fa40a85f09921c015fb2632aa34b9ef26d13cd (patch)
tree0242ec57a8340b9951a72631b64b6f1e7dca2e70 /widget/src/helpers.rs
parent94f0e0a2125faae7ea331f2edba99dd44b28a41a (diff)
downloadiced-10fa40a85f09921c015fb2632aa34b9ef26d13cd.tar.gz
iced-10fa40a85f09921c015fb2632aa34b9ef26d13cd.tar.bz2
iced-10fa40a85f09921c015fb2632aa34b9ef26d13cd.zip
Show `slider` doc example in multiple places
Diffstat (limited to 'widget/src/helpers.rs')
-rw-r--r--widget/src/helpers.rs62
1 files changed, 60 insertions, 2 deletions
diff --git a/widget/src/helpers.rs b/widget/src/helpers.rs
index 9854c0bf..a8da2a32 100644
--- a/widget/src/helpers.rs
+++ b/widget/src/helpers.rs
@@ -969,7 +969,36 @@ where
/// Creates a new [`Slider`].
///
-/// [`Slider`]: crate::Slider
+/// Sliders let users set a value by moving an indicator.
+///
+/// # 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::slider;
+///
+/// struct State {
+/// value: f32,
+/// }
+///
+/// #[derive(Debug, Clone)]
+/// enum Message {
+/// ValueChanged(f32),
+/// }
+///
+/// fn view(state: &State) -> Element<'_, Message> {
+/// slider(0.0..=100.0, state.value, Message::ValueChanged).into()
+/// }
+///
+/// fn update(state: &mut State, message: Message) {
+/// match message {
+/// Message::ValueChanged(value) => {
+/// state.value = value;
+/// }
+/// }
+/// }
+/// ```
pub fn slider<'a, T, Message, Theme>(
range: std::ops::RangeInclusive<T>,
value: T,
@@ -985,7 +1014,36 @@ where
/// Creates a new [`VerticalSlider`].
///
-/// [`VerticalSlider`]: crate::VerticalSlider
+/// Sliders let users set a value by moving an indicator.
+///
+/// # 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::vertical_slider;
+///
+/// struct State {
+/// value: f32,
+/// }
+///
+/// #[derive(Debug, Clone)]
+/// enum Message {
+/// ValueChanged(f32),
+/// }
+///
+/// fn view(state: &State) -> Element<'_, Message> {
+/// vertical_slider(0.0..=100.0, state.value, Message::ValueChanged).into()
+/// }
+///
+/// fn update(state: &mut State, message: Message) {
+/// match message {
+/// Message::ValueChanged(value) => {
+/// state.value = value;
+/// }
+/// }
+/// }
+/// ```
pub fn vertical_slider<'a, T, Message, Theme>(
range: std::ops::RangeInclusive<T>,
value: T,