From 55504ffcd41a5f1c8c35889501337a729b6aac28 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 24 Oct 2024 13:55:04 +0200 Subject: Rename `state::Widget` to `pane_grid::Memory` --- widget/src/pane_grid.rs | 25 +++++++++++++++---------- widget/src/pane_grid/state.rs | 6 ------ 2 files changed, 15 insertions(+), 16 deletions(-) (limited to 'widget/src') diff --git a/widget/src/pane_grid.rs b/widget/src/pane_grid.rs index adda79dd..b4ed4b64 100644 --- a/widget/src/pane_grid.rs +++ b/widget/src/pane_grid.rs @@ -295,6 +295,12 @@ where } } +#[derive(Default)] +struct Memory { + action: state::Action, + order: Vec, +} + impl<'a, Message, Theme, Renderer> Widget for PaneGrid<'a, Message, Theme, Renderer> where @@ -302,11 +308,11 @@ where Renderer: core::Renderer, { fn tag(&self) -> tree::Tag { - tree::Tag::of::() + tree::Tag::of::() } fn state(&self) -> tree::State { - tree::State::new(state::Widget::default()) + tree::State::new(Memory::default()) } fn children(&self) -> Vec { @@ -314,7 +320,7 @@ where } fn diff(&self, tree: &mut Tree) { - let state::Widget { panes, .. } = tree.state.downcast_ref(); + let Memory { order, .. } = tree.state.downcast_ref(); // `Pane` always increments and is iterated by Ord so new // states are always added at the end. We can simply remove @@ -325,7 +331,7 @@ where let mut i = 0; let mut j = 0; tree.children.retain(|_| { - let retain = self.panes.get(i) == panes.get(j); + let retain = self.panes.get(i) == order.get(j); if retain { i += 1; @@ -341,8 +347,8 @@ where Content::state, ); - let state::Widget { panes, .. } = tree.state.downcast_mut(); - panes.clone_from(&self.panes); + let Memory { order, .. } = tree.state.downcast_mut(); + order.clone_from(&self.panes); } fn size(&self) -> Size { @@ -430,7 +436,7 @@ where ) -> event::Status { let mut event_status = event::Status::Ignored; - let state::Widget { action, .. } = tree.state.downcast_mut(); + let Memory { action, .. } = tree.state.downcast_mut(); let node = self.internal.layout(); let on_drag = if self.drag_enabled() { @@ -642,7 +648,7 @@ where viewport: &Rectangle, renderer: &Renderer, ) -> mouse::Interaction { - let state::Widget { action, .. } = tree.state.downcast_ref(); + let Memory { action, .. } = tree.state.downcast_ref(); if action.picked_pane().is_some() { return mouse::Interaction::Grabbing; @@ -716,8 +722,7 @@ where cursor: mouse::Cursor, viewport: &Rectangle, ) { - let state::Widget { action, .. } = - tree.state.downcast_ref::(); + let Memory { action, .. } = tree.state.downcast_ref(); let node = self.internal.layout(); let resize_leeway = self.on_resize.as_ref().map(|(leeway, _)| *leeway); diff --git a/widget/src/pane_grid/state.rs b/widget/src/pane_grid/state.rs index f7e8f750..67cd3bf2 100644 --- a/widget/src/pane_grid/state.rs +++ b/widget/src/pane_grid/state.rs @@ -465,9 +465,3 @@ impl Action { } } } - -#[derive(Default)] -pub(super) struct Widget { - pub action: Action, - pub panes: Vec, -} -- cgit