summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-10-25 19:28:18 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-11-05 23:52:58 +0100
commitdcc184b01b753dbecb500205391f6eaaa21c8683 (patch)
tree9f1854261c3b3805e28f524df65487c09c9729f7 /examples
parent752403d70c851ece620c4007710062b158e8dec3 (diff)
downloadiced-dcc184b01b753dbecb500205391f6eaaa21c8683.tar.gz
iced-dcc184b01b753dbecb500205391f6eaaa21c8683.tar.bz2
iced-dcc184b01b753dbecb500205391f6eaaa21c8683.zip
Replace `event::Status` in `Widget::on_event` with `Shell::capture_event`
Diffstat (limited to 'examples')
-rw-r--r--examples/loading_spinners/src/circular.rs5
-rw-r--r--examples/loading_spinners/src/linear.rs5
-rw-r--r--examples/toast/src/main.rs53
3 files changed, 27 insertions, 36 deletions
diff --git a/examples/loading_spinners/src/circular.rs b/examples/loading_spinners/src/circular.rs
index 954a777e..e6b59cae 100644
--- a/examples/loading_spinners/src/circular.rs
+++ b/examples/loading_spinners/src/circular.rs
@@ -3,7 +3,6 @@ use iced::advanced::layout;
use iced::advanced::renderer;
use iced::advanced::widget::tree::{self, Tree};
use iced::advanced::{self, Clipboard, Layout, Shell, Widget};
-use iced::event;
use iced::mouse;
use iced::time::Instant;
use iced::widget::canvas;
@@ -272,7 +271,7 @@ where
_clipboard: &mut dyn Clipboard,
shell: &mut Shell<'_, Message>,
_viewport: &Rectangle,
- ) -> event::Status {
+ ) {
let state = tree.state.downcast_mut::<State>();
if let Event::Window(window::Event::RedrawRequested(now)) = event {
@@ -285,8 +284,6 @@ where
state.cache.clear();
shell.request_redraw();
}
-
- event::Status::Ignored
}
fn draw(
diff --git a/examples/loading_spinners/src/linear.rs b/examples/loading_spinners/src/linear.rs
index 81edde75..34576261 100644
--- a/examples/loading_spinners/src/linear.rs
+++ b/examples/loading_spinners/src/linear.rs
@@ -3,7 +3,6 @@ use iced::advanced::layout;
use iced::advanced::renderer::{self, Quad};
use iced::advanced::widget::tree::{self, Tree};
use iced::advanced::{self, Clipboard, Layout, Shell, Widget};
-use iced::event;
use iced::mouse;
use iced::time::Instant;
use iced::window;
@@ -186,7 +185,7 @@ where
_clipboard: &mut dyn Clipboard,
shell: &mut Shell<'_, Message>,
_viewport: &Rectangle,
- ) -> event::Status {
+ ) {
let state = tree.state.downcast_mut::<State>();
if let Event::Window(window::Event::RedrawRequested(now)) = event {
@@ -194,8 +193,6 @@ where
shell.request_redraw();
}
-
- event::Status::Ignored
}
fn draw(
diff --git a/examples/toast/src/main.rs b/examples/toast/src/main.rs
index 0b46c74e..079b96b4 100644
--- a/examples/toast/src/main.rs
+++ b/examples/toast/src/main.rs
@@ -169,7 +169,6 @@ mod toast {
use iced::advanced::renderer;
use iced::advanced::widget::{self, Operation, Tree};
use iced::advanced::{Clipboard, Shell, Widget};
- use iced::event::{self, Event};
use iced::mouse;
use iced::theme;
use iced::widget::{
@@ -177,8 +176,8 @@ mod toast {
};
use iced::window;
use iced::{
- Alignment, Center, Element, Fill, Length, Point, Rectangle, Renderer,
- Size, Theme, Vector,
+ Alignment, Center, Element, Event, Fill, Length, Point, Rectangle,
+ Renderer, Size, Theme, Vector,
};
pub const DEFAULT_TIMEOUT: u64 = 5;
@@ -369,7 +368,7 @@ mod toast {
clipboard: &mut dyn Clipboard,
shell: &mut Shell<'_, Message>,
viewport: &Rectangle,
- ) -> event::Status {
+ ) {
self.content.as_widget_mut().on_event(
&mut state.children[0],
event,
@@ -379,7 +378,7 @@ mod toast {
clipboard,
shell,
viewport,
- )
+ );
}
fn draw(
@@ -498,7 +497,7 @@ mod toast {
renderer: &Renderer,
clipboard: &mut dyn Clipboard,
shell: &mut Shell<'_, Message>,
- ) -> event::Status {
+ ) {
if let Event::Window(window::Event::RedrawRequested(now)) = &event {
self.instants.iter_mut().enumerate().for_each(
|(index, maybe_instant)| {
@@ -520,35 +519,33 @@ mod toast {
let viewport = layout.bounds();
- self.toasts
+ for (((child, state), layout), instant) in self
+ .toasts
.iter_mut()
.zip(self.state.iter_mut())
.zip(layout.children())
.zip(self.instants.iter_mut())
- .map(|(((child, state), layout), instant)| {
- let mut local_messages = vec![];
- let mut local_shell = Shell::new(&mut local_messages);
-
- let status = child.as_widget_mut().on_event(
- state,
- event.clone(),
- layout,
- cursor,
- renderer,
- clipboard,
- &mut local_shell,
- &viewport,
- );
+ {
+ let mut local_messages = vec![];
+ let mut local_shell = Shell::new(&mut local_messages);
- if !local_shell.is_empty() {
- instant.take();
- }
+ child.as_widget_mut().on_event(
+ state,
+ event.clone(),
+ layout,
+ cursor,
+ renderer,
+ clipboard,
+ &mut local_shell,
+ &viewport,
+ );
- shell.merge(local_shell, std::convert::identity);
+ if !local_shell.is_empty() {
+ instant.take();
+ }
- status
- })
- .fold(event::Status::Ignored, event::Status::merge)
+ shell.merge(local_shell, std::convert::identity);
+ }
}
fn draw(