diff options
Diffstat (limited to 'native/src')
-rw-r--r-- | native/src/event.rs | 2 | ||||
-rw-r--r-- | native/src/widget/column.rs | 2 | ||||
-rw-r--r-- | native/src/widget/row.rs | 2 | ||||
-rw-r--r-- | native/src/window/event.rs | 22 |
4 files changed, 24 insertions, 4 deletions
diff --git a/native/src/event.rs b/native/src/event.rs index 1d28aa7b..b2550ead 100644 --- a/native/src/event.rs +++ b/native/src/event.rs @@ -9,7 +9,7 @@ use crate::{ /// additional events, feel free to [open an issue] and share your use case!_ /// /// [open an issue]: https://github.com/hecrj/iced/issues -#[derive(PartialEq, Clone, Copy, Debug)] +#[derive(PartialEq, Clone, Debug)] pub enum Event { /// A keyboard event Keyboard(keyboard::Event), diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs index 79ec5ab4..104790d4 100644 --- a/native/src/widget/column.rs +++ b/native/src/widget/column.rs @@ -159,7 +159,7 @@ where self.children.iter_mut().zip(layout.children()).for_each( |(child, layout)| { child.widget.on_event( - event, + event.clone(), layout, cursor_position, messages, diff --git a/native/src/widget/row.rs b/native/src/widget/row.rs index b3dc90ba..775b953e 100644 --- a/native/src/widget/row.rs +++ b/native/src/widget/row.rs @@ -160,7 +160,7 @@ where self.children.iter_mut().zip(layout.children()).for_each( |(child, layout)| { child.widget.on_event( - event, + event.clone(), layout, cursor_position, messages, diff --git a/native/src/window/event.rs b/native/src/window/event.rs index 89ec0a0c..c913385b 100644 --- a/native/src/window/event.rs +++ b/native/src/window/event.rs @@ -1,5 +1,7 @@ +use std::path::PathBuf; + /// A window-related event. -#[derive(PartialEq, Clone, Copy, Debug)] +#[derive(PartialEq, Clone, Debug)] pub enum Event { /// A window was resized Resized { @@ -9,4 +11,22 @@ pub enum Event { /// The new height of the window (in units) height: u32, }, + + /// A file is being hovered over the window. + /// + /// When the user hovers multiple files at once, this event will be emitted + /// for each file separately. + FileHovered(PathBuf), + + /// A file has beend dropped into the window. + /// + /// When the user drops multiple files at once, this event will be emitted + /// for each file separately. + FileDropped(PathBuf), + + /// A file was hovered, but has exited the window. + /// + /// There will be a single `FilesLeft` event triggered even if multiple + /// files were hovered. + FilesLeft, } |