From 980877ea76abfb6a58fe7ab0ac26dccc1f808fc2 Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Wed, 8 Jul 2009 17:49:31 +0200 Subject: [PATCH] ItEr16S11CUCreacionDeOrganizacionsDeTraballoItEr15S06: Fix bug drag treerow to treeroot --- .../web/orders/OrderElementTreeController.java | 18 ++++++++++++++---- .../web/orders/OrderElementTreeModel.java | 5 +++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java index 367efd85c..3c0e561cf 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeController.java @@ -100,13 +100,23 @@ public class OrderElementTreeController extends GenericForwardComposer { public void move(Component dropedIn, Component dragged) { snapshotOfOpenedNodes = TreeViewStateSnapshot.snapshotOpened(tree); + SimpleTreeNode fromNode, toNode; + Treerow from = (Treerow) dragged; - Treerow to = (Treerow) dropedIn; - SimpleTreeNode fromNode = (SimpleTreeNode) ((Treeitem) from.getParent()) + fromNode = (SimpleTreeNode) ((Treeitem) from.getParent()) .getValue(); - SimpleTreeNode toNode = (SimpleTreeNode) ((Treeitem) to.getParent()) + + if (dropedIn instanceof Tree) { + getOrderElementTreeModel().moveToRoot(fromNode); + } + if (dropedIn instanceof Treerow) { + Treerow to = (Treerow) dropedIn; + toNode = (SimpleTreeNode) ((Treeitem) to.getParent()) .getValue(); - getOrderElementTreeModel().move(fromNode, toNode); + + getOrderElementTreeModel().move(fromNode, toNode); + } + Util.reloadBindings(tree); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeModel.java index 109237e60..80b87d063 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementTreeModel.java @@ -144,6 +144,11 @@ public class OrderElementTreeModel extends SimpleTreeModel { reloadFromOrder(); } + public void moveToRoot(SimpleTreeNode toBeMoved) { + moveImpl(toBeMoved, getRootAsNode(), 0); + reloadFromOrder(); + } + private void moveImpl(SimpleTreeNode toBeMoved, SimpleTreeNode destination, int position) { if (destination.getChildren().contains(toBeMoved)) {