summaryrefslogtreecommitdiffstats
path: root/examples/pick_list
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-07-27 06:49:20 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-07-27 06:49:20 +0200
commitff2519b1d43d481987351a83b6dd7237524c21f0 (patch)
tree5731eeb7eb1247d4a8951de0d5bc5d8102640559 /examples/pick_list
parentc44267b85f7aaa2997e3caf1323b837d95818c22 (diff)
downloadiced-ff2519b1d43d481987351a83b6dd7237524c21f0.tar.gz
iced-ff2519b1d43d481987351a83b6dd7237524c21f0.tar.bz2
iced-ff2519b1d43d481987351a83b6dd7237524c21f0.zip
Replace stateful widgets with new `iced_pure` API
Diffstat (limited to 'examples/pick_list')
-rw-r--r--examples/pick_list/src/main.rs33
1 files changed, 14 insertions, 19 deletions
diff --git a/examples/pick_list/src/main.rs b/examples/pick_list/src/main.rs
index 52303d70..9df1f5c7 100644
--- a/examples/pick_list/src/main.rs
+++ b/examples/pick_list/src/main.rs
@@ -1,7 +1,5 @@
-use iced::{
- pick_list, scrollable, Alignment, Container, Element, Length, PickList,
- Sandbox, Scrollable, Settings, Space, Text,
-};
+use iced::widget::{column, container, pick_list, scrollable, vertical_space};
+use iced::{Alignment, Element, Length, Sandbox, Settings};
pub fn main() -> iced::Result {
Example::run(Settings::default())
@@ -9,8 +7,6 @@ pub fn main() -> iced::Result {
#[derive(Default)]
struct Example {
- scroll: scrollable::State,
- pick_list: pick_list::State<Language>,
selected_language: Option<Language>,
}
@@ -38,26 +34,25 @@ impl Sandbox for Example {
}
}
- fn view(&mut self) -> Element<Message> {
- let pick_list = PickList::new(
- &mut self.pick_list,
+ fn view(&self) -> Element<Message> {
+ let pick_list = pick_list(
&Language::ALL[..],
self.selected_language,
Message::LanguageSelected,
)
.placeholder("Choose a language...");
- let mut content = Scrollable::new(&mut self.scroll)
- .width(Length::Fill)
- .align_items(Alignment::Center)
- .spacing(10)
- .push(Space::with_height(Length::Units(600)))
- .push(Text::new("Which is your favorite language?"))
- .push(pick_list);
-
- content = content.push(Space::with_height(Length::Units(600)));
+ let content = column![
+ vertical_space(Length::Units(600)),
+ "Which is your favorite language?",
+ pick_list,
+ vertical_space(Length::Units(600)),
+ ]
+ .width(Length::Fill)
+ .align_items(Alignment::Center)
+ .spacing(10);
- Container::new(content)
+ container(scrollable(content))
.width(Length::Fill)
.height(Length::Fill)
.center_x()