From b0678f4c75d9913b2a1f11392f94f69af7db2efd Mon Sep 17 00:00:00 2001 From: Ryan Scheidter Date: Sun, 13 Nov 2022 14:21:27 -0600 Subject: Implement `Widget::operate` for `PaneGrid` --- native/src/widget/pane_grid.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'native/src/widget/pane_grid.rs') diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs index 321e4e75..8f9065b0 100644 --- a/native/src/widget/pane_grid.rs +++ b/native/src/widget/pane_grid.rs @@ -38,6 +38,7 @@ use crate::mouse; use crate::overlay; use crate::renderer; use crate::touch; +use crate::widget; use crate::widget::container; use crate::widget::tree::{self, Tree}; use crate::{ @@ -289,6 +290,23 @@ where ) } + fn operate( + &self, + tree: &mut Tree, + layout: Layout<'_>, + operation: &mut dyn widget::Operation, + ) { + operation.container(None, &mut |operation| { + self.contents + .iter() + .zip(&mut tree.children) + .zip(layout.children()) + .for_each(|(((_pane, content), state), layout)| { + content.operate(state, layout, operation); + }) + }); + } + fn on_event( &mut self, tree: &mut Tree, -- cgit