diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/tree/TreeController.java b/libreplan-webapp/src/main/java/org/libreplan/web/tree/TreeController.java index e451989f4..c4aaa21c7 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/tree/TreeController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/tree/TreeController.java @@ -242,6 +242,10 @@ public abstract class TreeController> extends if (node.isLeaf() && !node.isEmptyLeaf()) { // Then a new container will be created nameTextbox = getRenderer().getNameTextbox(node); + } else { + // select the parent row to add new children ASAP + tree.setSelectedItem(getRenderer().getTreeitemForNode( + newNode.getParent().getThis())); } } else { getModel().addElement(name.getValue(), hours.getValue()); @@ -1072,6 +1076,14 @@ public abstract class TreeController> extends } } + public Treeitem getTreeitemForNode(T node) { + Component cmp = hoursIntBoxByElement.get(node); + while (!(cmp instanceof Treeitem)) { + cmp = cmp.getParent(); + } + return (Treeitem) cmp; + } + private Constraint getHoursConstraintFor(final T line) { return new Constraint() { @Override