diff options
author | 2020-11-14 02:17:21 +0100 | |
---|---|---|
committer | 2020-11-14 02:17:21 +0100 | |
commit | 62295f554b885b8d486b666bc10dc4ecdc78c7d6 (patch) | |
tree | 4758f6f17301b1a6c252a5a32248ae5498d1bb11 /native/src/widget/pane_grid/content.rs | |
parent | 73811c394a39c3816c67bffd2cf7d7a93c8803a9 (diff) | |
parent | bf2d2561b8dde3e160438428b59c03c38a5f752a (diff) | |
download | iced-62295f554b885b8d486b666bc10dc4ecdc78c7d6.tar.gz iced-62295f554b885b8d486b666bc10dc4ecdc78c7d6.tar.bz2 iced-62295f554b885b8d486b666bc10dc4ecdc78c7d6.zip |
Merge pull request #614 from hecrj/feature/event-capturing
Event capturing
Diffstat (limited to 'native/src/widget/pane_grid/content.rs')
-rw-r--r-- | native/src/widget/pane_grid/content.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/native/src/widget/pane_grid/content.rs b/native/src/widget/pane_grid/content.rs index 5bfbb9ed..2dac7060 100644 --- a/native/src/widget/pane_grid/content.rs +++ b/native/src/widget/pane_grid/content.rs @@ -1,8 +1,9 @@ use crate::container; +use crate::event::{self, Event}; use crate::layout; use crate::overlay; use crate::pane_grid::{self, TitleBar}; -use crate::{Clipboard, Element, Event, Hasher, Layout, Point, Size}; +use crate::{Clipboard, Element, Hasher, Layout, Point, Size}; /// The content of a [`Pane`]. /// @@ -154,11 +155,13 @@ where messages: &mut Vec<Message>, renderer: &Renderer, clipboard: Option<&dyn Clipboard>, - ) { + ) -> event::Status { + let mut event_status = event::Status::Ignored; + let body_layout = if let Some(title_bar) = &mut self.title_bar { let mut children = layout.children(); - title_bar.on_event( + event_status = title_bar.on_event( event.clone(), children.next().unwrap(), cursor_position, @@ -172,7 +175,7 @@ where layout }; - self.body.on_event( + let body_status = self.body.on_event( event, body_layout, cursor_position, @@ -180,6 +183,8 @@ where renderer, clipboard, ); + + event_status.merge(body_status) } pub(crate) fn hash_layout(&self, state: &mut Hasher) { |