Show slider doc example in multiple places
This commit is contained in:
parent
94f0e0a212
commit
10fa40a85f
3 changed files with 162 additions and 18 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,33 @@
|
|||
//! Display an interactive selector of a single value from a range of values.
|
||||
//! 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;
|
||||
//! }
|
||||
//! }
|
||||
//! }
|
||||
//! ```
|
||||
use crate::core::border::{self, Border};
|
||||
use crate::core::event::{self, Event};
|
||||
use crate::core::keyboard;
|
||||
|
|
@ -25,19 +54,32 @@ use std::ops::RangeInclusive;
|
|||
///
|
||||
/// # Example
|
||||
/// ```no_run
|
||||
/// # type Slider<'a, T, Message> = iced_widget::Slider<'a, Message, T>;
|
||||
/// # 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>;
|
||||
/// #
|
||||
/// #[derive(Clone)]
|
||||
/// pub enum Message {
|
||||
/// SliderChanged(f32),
|
||||
/// use iced::widget::slider;
|
||||
///
|
||||
/// struct State {
|
||||
/// value: f32,
|
||||
/// }
|
||||
///
|
||||
/// let value = 50.0;
|
||||
/// #[derive(Debug, Clone)]
|
||||
/// enum Message {
|
||||
/// ValueChanged(f32),
|
||||
/// }
|
||||
///
|
||||
/// Slider::new(0.0..=100.0, value, Message::SliderChanged);
|
||||
/// 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;
|
||||
/// }
|
||||
/// }
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
/// 
|
||||
#[allow(missing_debug_implementations)]
|
||||
pub struct Slider<'a, T, Message, Theme = crate::Theme>
|
||||
where
|
||||
|
|
|
|||
|
|
@ -1,4 +1,33 @@
|
|||
//! Display an interactive selector of a single value from a range of values.
|
||||
//! 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;
|
||||
//! }
|
||||
//! }
|
||||
//! }
|
||||
//! ```
|
||||
use std::ops::RangeInclusive;
|
||||
|
||||
pub use crate::slider::{
|
||||
|
|
@ -29,16 +58,31 @@ use crate::core::{
|
|||
///
|
||||
/// # Example
|
||||
/// ```no_run
|
||||
/// # type VerticalSlider<'a, T, Message> = iced_widget::VerticalSlider<'a, T, 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>;
|
||||
/// #
|
||||
/// #[derive(Clone)]
|
||||
/// pub enum Message {
|
||||
/// SliderChanged(f32),
|
||||
/// use iced::widget::vertical_slider;
|
||||
///
|
||||
/// struct State {
|
||||
/// value: f32,
|
||||
/// }
|
||||
///
|
||||
/// let value = 50.0;
|
||||
/// #[derive(Debug, Clone)]
|
||||
/// enum Message {
|
||||
/// ValueChanged(f32),
|
||||
/// }
|
||||
///
|
||||
/// VerticalSlider::new(0.0..=100.0, value, Message::SliderChanged);
|
||||
/// 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;
|
||||
/// }
|
||||
/// }
|
||||
/// }
|
||||
/// ```
|
||||
#[allow(missing_debug_implementations)]
|
||||
pub struct VerticalSlider<'a, T, Message, Theme = crate::Theme>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue