summaryrefslogtreecommitdiffstats
path: root/widget/src/pane_grid/content.rs
diff options
context:
space:
mode:
Diffstat (limited to 'widget/src/pane_grid/content.rs')
-rw-r--r--widget/src/pane_grid/content.rs22
1 files changed, 17 insertions, 5 deletions
diff --git a/widget/src/pane_grid/content.rs b/widget/src/pane_grid/content.rs
index c28ae6e3..826ea663 100644
--- a/widget/src/pane_grid/content.rs
+++ b/widget/src/pane_grid/content.rs
@@ -10,7 +10,7 @@ use crate::pane_grid::{Draggable, TitleBar};
/// The content of a [`Pane`].
///
-/// [`Pane`]: crate::widget::pane_grid::Pane
+/// [`Pane`]: super::Pane
#[allow(missing_debug_implementations)]
pub struct Content<'a, Message, Renderer = crate::Renderer>
where
@@ -87,7 +87,7 @@ where
/// Draws the [`Content`] with the provided [`Renderer`] and [`Layout`].
///
- /// [`Renderer`]: crate::Renderer
+ /// [`Renderer`]: crate::core::Renderer
pub fn draw(
&self,
tree: &Tree,
@@ -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,
+ )
}
}
@@ -222,6 +231,7 @@ where
renderer: &Renderer,
clipboard: &mut dyn Clipboard,
shell: &mut Shell<'_, Message>,
+ viewport: &Rectangle,
is_picked: bool,
) -> event::Status {
let mut event_status = event::Status::Ignored;
@@ -237,6 +247,7 @@ where
renderer,
clipboard,
shell,
+ viewport,
);
children.next().unwrap()
@@ -255,6 +266,7 @@ where
renderer,
clipboard,
shell,
+ viewport,
)
};