summaryrefslogtreecommitdiffstats
path: root/examples/tour.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-11-02 01:42:51 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2019-11-02 01:42:51 +0100
commit58d04cadef020412375f2adc5fd96bfa10ec4692 (patch)
treec88d5e3dc10ecb2f2e1fdfae620f161cba0c3991 /examples/tour.rs
parent298c42ac5f208745cd3b23b3cc8f10f7c8769797 (diff)
downloadiced-58d04cadef020412375f2adc5fd96bfa10ec4692.tar.gz
iced-58d04cadef020412375f2adc5fd96bfa10ec4692.tar.bz2
iced-58d04cadef020412375f2adc5fd96bfa10ec4692.zip
Add scrollable section to `tour`
Diffstat (limited to 'examples/tour.rs')
-rw-r--r--examples/tour.rs46
1 files changed, 40 insertions, 6 deletions
diff --git a/examples/tour.rs b/examples/tour.rs
index 59a8c525..7d8e4e3e 100644
--- a/examples/tour.rs
+++ b/examples/tour.rs
@@ -1,7 +1,7 @@
use iced::{
- button, slider, text::HorizontalAlignment, Align, Application, Background,
- Button, Checkbox, Color, Column, Element, Image, Justify, Length, Radio,
- Row, Slider, Text,
+ button, scrollable, slider, text::HorizontalAlignment, Align, Application,
+ Background, Button, Checkbox, Color, Column, Element, Image, Justify,
+ Length, Radio, Row, Scrollable, Slider, Text,
};
pub fn main() {
@@ -14,6 +14,7 @@ pub fn main() {
pub struct Tour {
steps: Steps,
+ scroll: scrollable::State,
back_button: button::State,
next_button: button::State,
debug: bool,
@@ -23,6 +24,7 @@ impl Tour {
pub fn new() -> Tour {
Tour {
steps: Steps::new(),
+ scroll: scrollable::State::new(),
back_button: button::State::new(),
next_button: button::State::new(),
debug: false,
@@ -88,11 +90,13 @@ impl Application for Tour {
};
Column::new()
- .width(Length::Fill)
.height(Length::Fill)
- .align_items(Align::Center)
.justify_content(Justify::Center)
- .push(element)
+ .push(
+ Scrollable::new(&mut self.scroll)
+ .align_items(Align::Center)
+ .push(element),
+ )
.into()
}
}
@@ -134,6 +138,7 @@ impl Steps {
width: 300,
slider: slider::State::new(),
},
+ Step::Scrollable,
Step::Debugger,
Step::End,
],
@@ -195,6 +200,7 @@ enum Step {
width: u16,
slider: slider::State,
},
+ Scrollable,
Debugger,
End,
}
@@ -265,6 +271,7 @@ impl<'a> Step {
Step::Text { .. } => true,
Step::Image { .. } => true,
Step::RowsAndColumns { .. } => true,
+ Step::Scrollable => true,
Step::Debugger => true,
Step::End => false,
}
@@ -289,6 +296,7 @@ impl<'a> Step {
} => {
Self::rows_and_columns(*layout, spacing_slider, *spacing).into()
}
+ Step::Scrollable => Self::scrollable().into(),
Step::Debugger => Self::debugger(debug).into(),
Step::End => Self::end().into(),
}
@@ -528,6 +536,32 @@ impl<'a> Step {
)
}
+ fn scrollable() -> Column<'a, StepMessage> {
+ Self::container("Scrollable")
+ .push(Text::new(
+ "Iced supports scrollable content. Try it out! Find the \
+ button further below.",
+ ))
+ .push(
+ Text::new(
+ "Tip: You can use the scrollbar to scroll down faster!",
+ )
+ .size(16),
+ )
+ .push(Column::new().height(Length::Units(4096)))
+ .push(
+ Text::new("You are halfway there!")
+ .size(30)
+ .horizontal_alignment(HorizontalAlignment::Center),
+ )
+ .push(Column::new().height(Length::Units(4096)))
+ .push(
+ Text::new("You made it!")
+ .size(50)
+ .horizontal_alignment(HorizontalAlignment::Center),
+ )
+ }
+
fn debugger(debug: bool) -> Column<'a, StepMessage> {
Self::container("Debugger")
.push(Text::new(