From 99aa54cd88d7eb99149699d539ee4d59e08047b1 Mon Sep 17 00:00:00 2001 From: Joao Freitas <51237625+jhff@users.noreply.github.com> Date: Tue, 16 May 2023 16:12:29 +0100 Subject: Add pane_grid functionality to split a pane with another pane --- examples/pane_grid/src/main.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'examples/pane_grid/src') diff --git a/examples/pane_grid/src/main.rs b/examples/pane_grid/src/main.rs index dfb80853..d670e1e8 100644 --- a/examples/pane_grid/src/main.rs +++ b/examples/pane_grid/src/main.rs @@ -108,8 +108,12 @@ impl Application for Example { Message::Dragged(pane_grid::DragEvent::Dropped { pane, target, + region, }) => { - self.panes.swap(&pane, &target); + if let Some(state) = self.panes.get(&pane) { + let pane = (*state, &pane); + self.panes.split_with(&target, pane, region); + } } Message::Dragged(_) => {} Message::TogglePin(pane) => { @@ -255,6 +259,7 @@ fn handle_hotkey(key_code: keyboard::KeyCode) -> Option { } } +#[derive(Clone, Copy)] struct Pane { id: usize, pub is_pinned: bool, -- cgit