summaryrefslogtreecommitdiffstats
path: root/examples/pane_grid
diff options
context:
space:
mode:
authorLibravatar Joao Freitas <51237625+jhff@users.noreply.github.com>2023-05-16 16:12:29 +0100
committerLibravatar Joao Freitas <51237625+jhff@users.noreply.github.com>2023-05-16 16:12:29 +0100
commit99aa54cd88d7eb99149699d539ee4d59e08047b1 (patch)
treeacf92d0abab84919f0dc660aa234c824a2f96632 /examples/pane_grid
parent8e8b1e1eacc4e2c19c9878625f423c8e09e2d3b9 (diff)
downloadiced-99aa54cd88d7eb99149699d539ee4d59e08047b1.tar.gz
iced-99aa54cd88d7eb99149699d539ee4d59e08047b1.tar.bz2
iced-99aa54cd88d7eb99149699d539ee4d59e08047b1.zip
Add pane_grid functionality to split a pane with another pane
Diffstat (limited to 'examples/pane_grid')
-rw-r--r--examples/pane_grid/src/main.rs7
1 files changed, 6 insertions, 1 deletions
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<Message> {
}
}
+#[derive(Clone, Copy)]
struct Pane {
id: usize,
pub is_pinned: bool,