summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-09-19 05:30:12 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-09-19 05:30:12 +0200
commit94f0e0a2125faae7ea331f2edba99dd44b28a41a (patch)
tree986b26517c39b38f1ff10fee1d195b43eb3678a0
parent24fcc57873bdf2605c9df26d240d67d8e26873ed (diff)
downloadiced-94f0e0a2125faae7ea331f2edba99dd44b28a41a.tar.gz
iced-94f0e0a2125faae7ea331f2edba99dd44b28a41a.tar.bz2
iced-94f0e0a2125faae7ea331f2edba99dd44b28a41a.zip
Show `scrollable` doc example in multiple places
-rw-r--r--widget/src/helpers.rs22
-rw-r--r--widget/src/scrollable.rs42
2 files changed, 62 insertions, 2 deletions
diff --git a/widget/src/helpers.rs b/widget/src/helpers.rs
index 40a72452..9854c0bf 100644
--- a/widget/src/helpers.rs
+++ b/widget/src/helpers.rs
@@ -681,7 +681,27 @@ where
/// Creates a new [`Scrollable`] with the provided content.
///
-/// [`Scrollable`]: crate::Scrollable
+/// Scrollables let users navigate an endless amount of content with a scrollbar.
+///
+/// # 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::{column, scrollable, vertical_space};
+///
+/// enum Message {
+/// // ...
+/// }
+///
+/// fn view(state: &State) -> Element<'_, Message> {
+/// scrollable(column![
+/// "Scroll me!",
+/// vertical_space().height(3000),
+/// "You did it!",
+/// ]).into()
+/// }
+/// ```
pub fn scrollable<'a, Message, Theme, Renderer>(
content: impl Into<Element<'a, Message, Theme, Renderer>>,
) -> Scrollable<'a, Message, Theme, Renderer>
diff --git a/widget/src/scrollable.rs b/widget/src/scrollable.rs
index a5610166..01638a48 100644
--- a/widget/src/scrollable.rs
+++ b/widget/src/scrollable.rs
@@ -1,4 +1,24 @@
-//! Navigate an endless amount of content with a scrollbar.
+//! Scrollables let users navigate an endless amount of content with a scrollbar.
+//!
+//! # 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::{column, scrollable, vertical_space};
+//!
+//! enum Message {
+//! // ...
+//! }
+//!
+//! fn view(state: &State) -> Element<'_, Message> {
+//! scrollable(column![
+//! "Scroll me!",
+//! vertical_space().height(3000),
+//! "You did it!",
+//! ]).into()
+//! }
+//! ```
use crate::container;
use crate::core::border::{self, Border};
use crate::core::event::{self, Event};
@@ -24,6 +44,26 @@ pub use operation::scrollable::{AbsoluteOffset, RelativeOffset};
/// A widget that can vertically display an infinite amount of content with a
/// scrollbar.
+///
+/// # 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::{column, scrollable, vertical_space};
+///
+/// enum Message {
+/// // ...
+/// }
+///
+/// fn view(state: &State) -> Element<'_, Message> {
+/// scrollable(column![
+/// "Scroll me!",
+/// vertical_space().height(3000),
+/// "You did it!",
+/// ]).into()
+/// }
+/// ```
#[allow(missing_debug_implementations)]
pub struct Scrollable<
'a,