summaryrefslogtreecommitdiffstats
path: root/examples/events.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/events.rs')
-rw-r--r--examples/events.rs86
1 files changed, 0 insertions, 86 deletions
diff --git a/examples/events.rs b/examples/events.rs
deleted file mode 100644
index 0c9dca05..00000000
--- a/examples/events.rs
+++ /dev/null
@@ -1,86 +0,0 @@
-use iced::{
- executor, Align, Application, Checkbox, Column, Command, Container,
- Element, Length, Settings, Subscription, Text,
-};
-
-pub fn main() {
- Events::run(Settings::default())
-}
-
-#[derive(Debug, Default)]
-struct Events {
- last: Vec<iced_native::Event>,
- enabled: bool,
-}
-
-#[derive(Debug, Clone)]
-enum Message {
- EventOccurred(iced_native::Event),
- Toggled(bool),
-}
-
-impl Application for Events {
- type Executor = executor::Default;
- type Message = Message;
-
- fn new() -> (Events, Command<Message>) {
- (Events::default(), Command::none())
- }
-
- fn title(&self) -> String {
- String::from("Events - Iced")
- }
-
- fn update(&mut self, message: Message) -> Command<Message> {
- match message {
- Message::EventOccurred(event) => {
- self.last.push(event);
-
- if self.last.len() > 5 {
- let _ = self.last.remove(0);
- }
- }
- Message::Toggled(enabled) => {
- self.enabled = enabled;
- }
- };
-
- Command::none()
- }
-
- fn subscription(&self) -> Subscription<Message> {
- if self.enabled {
- iced_native::subscription::events().map(Message::EventOccurred)
- } else {
- Subscription::none()
- }
- }
-
- 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))
- },
- );
-
- let toggle = Checkbox::new(
- self.enabled,
- "Listen to runtime events",
- Message::Toggled,
- );
-
- let content = Column::new()
- .align_items(Align::Center)
- .spacing(20)
- .push(events)
- .push(toggle);
-
- Container::new(content)
- .width(Length::Fill)
- .height(Length::Fill)
- .center_x()
- .center_y()
- .into()
- }
-}