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`].
|
/// 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>(
|
pub fn slider<'a, T, Message, Theme>(
|
||||||
range: std::ops::RangeInclusive<T>,
|
range: std::ops::RangeInclusive<T>,
|
||||||
value: T,
|
value: T,
|
||||||
|
|
@ -985,7 +1014,36 @@ where
|
||||||
|
|
||||||
/// Creates a new [`VerticalSlider`].
|
/// 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>(
|
pub fn vertical_slider<'a, T, Message, Theme>(
|
||||||
range: std::ops::RangeInclusive<T>,
|
range: std::ops::RangeInclusive<T>,
|
||||||
value: 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::border::{self, Border};
|
||||||
use crate::core::event::{self, Event};
|
use crate::core::event::{self, Event};
|
||||||
use crate::core::keyboard;
|
use crate::core::keyboard;
|
||||||
|
|
@ -25,19 +54,32 @@ use std::ops::RangeInclusive;
|
||||||
///
|
///
|
||||||
/// # Example
|
/// # Example
|
||||||
/// ```no_run
|
/// ```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)]
|
/// use iced::widget::slider;
|
||||||
/// pub enum Message {
|
///
|
||||||
/// SliderChanged(f32),
|
/// 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)]
|
#[allow(missing_debug_implementations)]
|
||||||
pub struct Slider<'a, T, Message, Theme = crate::Theme>
|
pub struct Slider<'a, T, Message, Theme = crate::Theme>
|
||||||
where
|
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;
|
use std::ops::RangeInclusive;
|
||||||
|
|
||||||
pub use crate::slider::{
|
pub use crate::slider::{
|
||||||
|
|
@ -29,16 +58,31 @@ use crate::core::{
|
||||||
///
|
///
|
||||||
/// # Example
|
/// # Example
|
||||||
/// ```no_run
|
/// ```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)]
|
/// use iced::widget::vertical_slider;
|
||||||
/// pub enum Message {
|
///
|
||||||
/// SliderChanged(f32),
|
/// 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)]
|
#[allow(missing_debug_implementations)]
|
||||||
pub struct VerticalSlider<'a, T, Message, Theme = crate::Theme>
|
pub struct VerticalSlider<'a, T, Message, Theme = crate::Theme>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue