summaryrefslogtreecommitdiffstats
path: root/examples/events
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/events
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/events')
-rw-r--r--examples/events/src/main.rs31
1 files changed, 15 insertions, 16 deletions
diff --git a/examples/events/src/main.rs b/examples/events/src/main.rs
index c87fbc72..234e1423 100644
--- a/examples/events/src/main.rs
+++ b/examples/events/src/main.rs
@@ -1,9 +1,9 @@
use iced::alignment;
-use iced::button;
use iced::executor;
+use iced::widget::{button, checkbox, container, text, Column};
use iced::{
- Alignment, Application, Button, Checkbox, Column, Command, Container,
- Element, Length, Settings, Subscription, Text, Theme,
+ Alignment, Application, Command, Element, Length, Settings, Subscription,
+ Theme,
};
use iced_native::{window, Event};
@@ -18,7 +18,6 @@ pub fn main() -> iced::Result {
struct Events {
last: Vec<iced_native::Event>,
enabled: bool,
- exit: button::State,
should_exit: bool,
}
@@ -76,23 +75,23 @@ impl Application for Events {
self.should_exit
}
- fn view(&mut self) -> Element<Message> {
- let events = self.last.iter().fold(
- Column::new().spacing(10),
- |column, event| {
- column.push(Text::new(format!("{:?}", event)).size(40))
- },
+ fn view(&self) -> Element<Message> {
+ let events = Column::with_children(
+ self.last
+ .iter()
+ .map(|event| text(format!("{:?}", event)).size(40))
+ .map(Element::from)
+ .collect(),
);
- let toggle = Checkbox::new(
- self.enabled,
+ let toggle = checkbox(
"Listen to runtime events",
+ self.enabled,
Message::Toggled,
);
- let exit = Button::new(
- &mut self.exit,
- Text::new("Exit")
+ let exit = button(
+ text("Exit")
.width(Length::Fill)
.horizontal_alignment(alignment::Horizontal::Center),
)
@@ -107,7 +106,7 @@ impl Application for Events {
.push(toggle)
.push(exit);
- Container::new(content)
+ container(content)
.width(Length::Fill)
.height(Length::Fill)
.center_x()