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();
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);
}
}