From e5c9dd54b3f51e913f39b38e8907c321c8bfd040 Mon Sep 17 00:00:00 2001 From: Joao Freitas <51237625+jhff@users.noreply.github.com> Date: Fri, 19 May 2023 11:24:52 +0100 Subject: Add ability to drag pane to the pane grid edges & optional style for dragged pane --- examples/pane_grid/src/main.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'examples') diff --git a/examples/pane_grid/src/main.rs b/examples/pane_grid/src/main.rs index 54c36d69..c5652e2d 100644 --- a/examples/pane_grid/src/main.rs +++ b/examples/pane_grid/src/main.rs @@ -108,10 +108,15 @@ impl Application for Example { Message::Dragged(pane_grid::DragEvent::Dropped { pane, target, - region, - }) => { - self.panes.split_with(&target, &pane, region); - } + }) => match target { + pane_grid::Target::PaneGrid(edge) => { + self.panes.move_to_edge(&pane, edge) + } + pane_grid::Target::Pane { + pane: target, + region, + } => self.panes.split_with(&target, &pane, region), + }, Message::Dragged(_) => {} Message::TogglePin(pane) => { if let Some(Pane { is_pinned, .. }) = self.panes.get_mut(&pane) -- cgit From ecce8bbcee45dddedef8a33bf3dc086d76c27b39 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 6 Jul 2023 07:37:51 +0200 Subject: Simplify `Target` enum in `widget::pane_grid` --- examples/pane_grid/src/main.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/pane_grid/src/main.rs b/examples/pane_grid/src/main.rs index c5652e2d..1361eeb9 100644 --- a/examples/pane_grid/src/main.rs +++ b/examples/pane_grid/src/main.rs @@ -109,13 +109,12 @@ impl Application for Example { pane, target, }) => match target { - pane_grid::Target::PaneGrid(edge) => { + pane_grid::Target::Edge(edge) => { self.panes.move_to_edge(&pane, edge) } - pane_grid::Target::Pane { - pane: target, - region, - } => self.panes.split_with(&target, &pane, region), + pane_grid::Target::Pane(target, region) => { + self.panes.split_with(&target, &pane, region) + } }, Message::Dragged(_) => {} Message::TogglePin(pane) => { -- cgit From c5a623f32b3d972501bb02d87d296381b66f9481 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 6 Jul 2023 07:45:47 +0200 Subject: Introduce `drop` helper to `pane_grid::State` --- examples/pane_grid/src/main.rs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/pane_grid/src/main.rs b/examples/pane_grid/src/main.rs index 1361eeb9..04896e20 100644 --- a/examples/pane_grid/src/main.rs +++ b/examples/pane_grid/src/main.rs @@ -108,14 +108,9 @@ impl Application for Example { Message::Dragged(pane_grid::DragEvent::Dropped { pane, target, - }) => match target { - pane_grid::Target::Edge(edge) => { - self.panes.move_to_edge(&pane, edge) - } - pane_grid::Target::Pane(target, region) => { - self.panes.split_with(&target, &pane, region) - } - }, + }) => { + self.panes.drop(&pane, target); + } Message::Dragged(_) => {} Message::TogglePin(pane) => { if let Some(Pane { is_pinned, .. }) = self.panes.get_mut(&pane) -- cgit