diff options
author | 2023-05-19 12:12:08 +0100 | |
---|---|---|
committer | 2023-05-19 12:12:08 +0100 | |
commit | bc590e2d6f3a39b09b11928c829f05d7bc9f9211 (patch) | |
tree | 06e2d2e469d7028859a7269889ea1a18ea4b369c /widget/src/pane_grid | |
parent | 0cb84c1c4cc128f8260054192b4f7798de52a82a (diff) | |
download | iced-bc590e2d6f3a39b09b11928c829f05d7bc9f9211.tar.gz iced-bc590e2d6f3a39b09b11928c829f05d7bc9f9211.tar.bz2 iced-bc590e2d6f3a39b09b11928c829f05d7bc9f9211.zip |
Take pane state internally
Diffstat (limited to 'widget/src/pane_grid')
-rw-r--r-- | widget/src/pane_grid/state.rs | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/widget/src/pane_grid/state.rs b/widget/src/pane_grid/state.rs index b57cdd92..6ab34884 100644 --- a/widget/src/pane_grid/state.rs +++ b/widget/src/pane_grid/state.rs @@ -170,17 +170,9 @@ impl<T> State<T> { /// Split a target [`Pane`] with a given [`Pane`] on a given [`Region`]. /// /// Panes will be swapped by default for [`Region::Center`]. - pub fn split_with( - &mut self, - target: &Pane, - pane: (T, &Pane), - region: Region, - ) { + pub fn split_with(&mut self, target: &Pane, pane: &Pane, region: Region) { match region { - Region::Center => { - let (_, pane) = pane; - self.swap(pane, target); - } + Region::Center => self.swap(pane, target), Region::Top => { self.split_and_swap(Axis::Horizontal, target, pane, true) } @@ -200,17 +192,15 @@ impl<T> State<T> { &mut self, axis: Axis, target: &Pane, - pane: (T, &Pane), + pane: &Pane, invert: bool, ) { - let (state, pane) = pane; - - if let Some((new_pane, _)) = self.split(axis, target, state) { - if invert { - self.swap(target, &new_pane); + if let Some((state, _)) = self.close(pane) { + if let Some((new_pane, _)) = self.split(axis, target, state) { + if invert { + self.swap(target, &new_pane); + } } - - let _ = self.close(pane); } } |