Make widget::Tree mutable in Widget::layout

This commit is contained in:
Héctor Ramón Jiménez 2023-08-30 06:36:24 +02:00
parent 301e6e5fdc
commit a026e917d3
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
45 changed files with 135 additions and 135 deletions

View file

@ -150,7 +150,7 @@ where
pub(crate) fn layout(
&self,
tree: &Tree,
tree: &mut Tree,
renderer: &Renderer,
limits: &layout::Limits,
) -> layout::Node {
@ -158,7 +158,7 @@ where
let max_size = limits.max();
let title_bar_layout = title_bar.layout(
&tree.children[1],
&mut tree.children[1],
renderer,
&layout::Limits::new(Size::ZERO, max_size),
);
@ -166,7 +166,7 @@ where
let title_bar_size = title_bar_layout.size();
let mut body_layout = self.body.as_widget().layout(
&tree.children[0],
&mut tree.children[0],
renderer,
&layout::Limits::new(
Size::ZERO,
@ -184,9 +184,11 @@ where
vec![title_bar_layout, body_layout],
)
} else {
self.body
.as_widget()
.layout(&tree.children[0], renderer, limits)
self.body.as_widget().layout(
&mut tree.children[0],
renderer,
limits,
)
}
}

View file

@ -213,7 +213,7 @@ where
pub(crate) fn layout(
&self,
tree: &Tree,
tree: &mut Tree,
renderer: &Renderer,
limits: &layout::Limits,
) -> layout::Node {
@ -221,7 +221,7 @@ where
let max_size = limits.max();
let title_layout = self.content.as_widget().layout(
&tree.children[0],
&mut tree.children[0],
renderer,
&layout::Limits::new(Size::ZERO, max_size),
);
@ -230,7 +230,7 @@ where
let mut node = if let Some(controls) = &self.controls {
let mut controls_layout = controls.as_widget().layout(
&tree.children[1],
&mut tree.children[1],
renderer,
&layout::Limits::new(Size::ZERO, max_size),
);