summaryrefslogtreecommitdiffstats
path: root/widget/src/pane_grid
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-08-30 06:36:24 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-08-30 06:36:24 +0200
commita026e917d3364e58fd827995261158d8cb356ce9 (patch)
treea057623bc812da0d4771399dcdc2fe07c1d04b40 /widget/src/pane_grid
parent301e6e5fdc40f36f98bd8fef0fa923745533ad27 (diff)
downloadiced-a026e917d3364e58fd827995261158d8cb356ce9.tar.gz
iced-a026e917d3364e58fd827995261158d8cb356ce9.tar.bz2
iced-a026e917d3364e58fd827995261158d8cb356ce9.zip
Make `widget::Tree` mutable in `Widget::layout`
Diffstat (limited to 'widget/src/pane_grid')
-rw-r--r--widget/src/pane_grid/content.rs14
-rw-r--r--widget/src/pane_grid/title_bar.rs6
2 files changed, 11 insertions, 9 deletions
diff --git a/widget/src/pane_grid/content.rs b/widget/src/pane_grid/content.rs
index 8a74b4b9..5dbc5496 100644
--- a/widget/src/pane_grid/content.rs
+++ b/widget/src/pane_grid/content.rs
@@ -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,
+ )
}
}
diff --git a/widget/src/pane_grid/title_bar.rs b/widget/src/pane_grid/title_bar.rs
index c0fb9936..8a4523e8 100644
--- a/widget/src/pane_grid/title_bar.rs
+++ b/widget/src/pane_grid/title_bar.rs
@@ -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),
);