diff options
Diffstat (limited to 'widget/src/pane_grid')
| -rw-r--r-- | widget/src/pane_grid/content.rs | 15 | ||||
| -rw-r--r-- | widget/src/pane_grid/title_bar.rs | 18 | 
2 files changed, 23 insertions, 10 deletions
diff --git a/widget/src/pane_grid/content.rs b/widget/src/pane_grid/content.rs index 218adcd5..826ea663 100644 --- a/widget/src/pane_grid/content.rs +++ b/widget/src/pane_grid/content.rs @@ -150,18 +150,23 @@ where      pub(crate) fn layout(          &self, +        tree: &mut Tree,          renderer: &Renderer,          limits: &layout::Limits,      ) -> layout::Node {          if let Some(title_bar) = &self.title_bar {              let max_size = limits.max(); -            let title_bar_layout = title_bar -                .layout(renderer, &layout::Limits::new(Size::ZERO, max_size)); +            let title_bar_layout = title_bar.layout( +                &mut tree.children[1], +                renderer, +                &layout::Limits::new(Size::ZERO, max_size), +            );              let title_bar_size = title_bar_layout.size();              let mut body_layout = self.body.as_widget().layout( +                &mut tree.children[0],                  renderer,                  &layout::Limits::new(                      Size::ZERO, @@ -179,7 +184,11 @@ where                  vec![title_bar_layout, body_layout],              )          } else { -            self.body.as_widget().layout(renderer, limits) +            self.body.as_widget().layout( +                &mut tree.children[0], +                renderer, +                limits, +            )          }      } diff --git a/widget/src/pane_grid/title_bar.rs b/widget/src/pane_grid/title_bar.rs index 47457337..5ae7a6a0 100644 --- a/widget/src/pane_grid/title_bar.rs +++ b/widget/src/pane_grid/title_bar.rs @@ -213,23 +213,27 @@ where      pub(crate) fn layout(          &self, +        tree: &mut Tree,          renderer: &Renderer,          limits: &layout::Limits,      ) -> layout::Node {          let limits = limits.pad(self.padding);          let max_size = limits.max(); -        let title_layout = self -            .content -            .as_widget() -            .layout(renderer, &layout::Limits::new(Size::ZERO, max_size)); +        let title_layout = self.content.as_widget().layout( +            &mut tree.children[0], +            renderer, +            &layout::Limits::new(Size::ZERO, max_size), +        );          let title_size = title_layout.size();          let mut node = if let Some(controls) = &self.controls { -            let mut controls_layout = controls -                .as_widget() -                .layout(renderer, &layout::Limits::new(Size::ZERO, max_size)); +            let mut controls_layout = controls.as_widget().layout( +                &mut tree.children[1], +                renderer, +                &layout::Limits::new(Size::ZERO, max_size), +            );              let controls_size = controls_layout.size();              let space_before_controls = max_size.width - controls_size.width;  | 
