/** * Override to enable promotion of items * * @param node The node to test. * @return True if the node can be promoted. */ protected boolean canPromote(Treenode node) { return hierarchical && node.getPreviousSibling() != null; }
@EventHandler(value = "click", target = "@btnUp") private void onClick$btnUp() { Treenode node = tree.getSelectedNode(); doDrop(node, (Treenode) node.getPreviousSibling(), true); }
/** * Move the selected tree node up one level. */ @EventHandler(value = "click", target = "@btnUp") private void onClick$btnUp() { Treenode node = tree.getSelectedNode(); Treenode sib = (Treenode) node.getPreviousSibling(); swap(sib, node); }
@EventHandler(value = "click", target = "@btnRight") private void onClick$btnRight() { Treenode node = tree.getSelectedNode(); doDrop(node, (Treenode) node.getPreviousSibling(), false); }
/** * Demote the selected tree node. */ @EventHandler(value = "click", target = "@btnRight") private void onClick$btnRight() { Treenode node = tree.getSelectedNode(); Treenode sib = (Treenode) node.getPreviousSibling(); sib.addChild(node); doChanged(true); }
/** * Delete the selected node. If the associated proxy does not yet contain a proxied target, it * is simply removed from the proxy list. Otherwise, it is marked as deleted, but remains in the * list. */ @EventHandler(value = "click", target = "@btnDelete") private void onClick$btnDelete() { Treenode node = tree.getSelectedNode(); if (node != null) { Proxy proxy = getProxy(node); if (proxy.getReal() == null) { proxies.remove(proxy); } else { proxy.setDeleted(true); } Treenode nextItem = (Treenode) node.getNextSibling(); nextItem = nextItem == null ? (Treenode) node.getPreviousSibling() : nextItem; node.destroy(); currentItem = null; selectNode(nextItem); doChanged(true); } }
/** * Update toolbar buttons to reflect the current selection state. */ private void updateControls() { //TODO: TreeUtil.adjustVisibility(tree); Treenode node = tree.getSelectedNode(); disableButton(btnDelete, node == null); disableButton(btnRight, node == null || !canPromote(node)); disableButton(btnLeft, node == null || !canDemote(node)); disableButton(btnUp, node == null || node.getPreviousSibling() == null); disableButton(btnDown, node == null || node.getNextSibling() == null); }
/** * Update control states for current selection. */ private void updateControls() { Treenode selectedNode = tree.getSelectedNode(); ElementUI selectedElement = getElement(selectedNode); contextMenu.updateStates(selectedElement, btnAdd, btnDelete, btnCopy, btnCut, btnPaste, btnProperties, btnAbout); BaseComponent parent = selectedNode == null ? null : selectedNode.getParent(); //parent = parent == null ? null : parent.getParent(); Treenode target = parent instanceof Treenode ? (Treenode) parent : null; btnLeft.setDisabled(movementType(selectedNode, target, false) == MovementType.INVALID); target = selectedNode == null ? null : (Treenode) selectedNode.getPreviousSibling(); btnRight.setDisabled(movementType(selectedNode, target, false) == MovementType.INVALID); btnUp.setDisabled(movementType(selectedNode, target, true) == MovementType.INVALID); target = selectedNode == null ? null : (Treenode) selectedNode.getNextSibling(); btnDown.setDisabled(movementType(selectedNode, target, true) == MovementType.INVALID); btnToFront.addStyle("opacity", bringToFront ? null : "0.5"); if (selectedElement != null) { window.setContext(contextMenu.getMenupopup()); contextMenu.setOwner(selectedElement); } if (selectedNode != null) { selectedNode.setSelected(false); selectedNode.setSelected(true); } }