/** * On right click. * * @param value the value * @param event the event * @param element the element */ public void onRightClick(CellTreeNode value, Event event, Element element) { clearMessages(); selectedNode = value; selectionModel.setSelected(selectedNode, true); int x = element.getAbsoluteRight() - 10; int y = element.getAbsoluteBottom() + 5; popupPanel.setPopupPosition(x, y); popupPanel.setAnimationEnabled(true); // popupPanel.setSize("175px", "75px"); popupPanel.show(); popupPanel.setStyleName("popup"); clauseWorkspaceContextMenu.displayMenuItems(popupPanel); }
/* (non-Javadoc) * @see com.google.gwt.event.dom.client.KeyDownHandler#onKeyDown(com.google.gwt.event.dom.client.KeyDownEvent) */ @Override public void onKeyDown(KeyDownEvent event) { // System.out.println(event.getNativeKeyCode()); int keyCode = event.getNativeKeyCode(); if (selectedNode != null) { short nodeType = selectedNode.getNodeType(); if (event.isControlKeyDown()) { if (keyCode == ClauseConstants.COPY_C) { // COPY if ((nodeType != CellTreeNode.MASTER_ROOT_NODE) && (nodeType != CellTreeNode.ROOT_NODE)) { popupPanel.hide(); copy(); } } else if (keyCode == ClauseConstants.PASTE_V) { // PASTE boolean canPaste = false; popupPanel.hide(); if (copiedNode != null) { switch (selectedNode.getNodeType()) { case CellTreeNode.ROOT_NODE: if (selectedNode.equals(copiedNode.getParent())) { clauseWorkspaceContextMenu.pasteRootNodeTypeItem(); isDirty = true; } break; case CellTreeNode.LOGICAL_OP_NODE: case CellTreeNode.FUNCTIONS_NODE: if (copiedNode.getNodeType() != CellTreeNode.CLAUSE_NODE) { canPaste = true; } break; case CellTreeNode.TIMING_NODE: if ((copiedNode.getNodeType() != CellTreeNode.CLAUSE_NODE) && ((selectedNode.getChilds() == null) || (selectedNode.getChilds().size() < 2))) { canPaste = true; } break; default: break; } if (canPaste) { paste(); isDirty = true; } } } else if (keyCode == ClauseConstants.CUT_X) { // CUT popupPanel.hide(); if ((selectedNode.getNodeType() != CellTreeNode.MASTER_ROOT_NODE) && (selectedNode.getNodeType() != CellTreeNode.CLAUSE_NODE) && (selectedNode.getNodeType() != CellTreeNode.ROOT_NODE) && (selectedNode.getParent().getNodeType() != CellTreeNode.CLAUSE_NODE)) { copy(); removeNode(); isDirty = true; } } } else if (keyCode == ClauseConstants.DELETE_DELETE) { // DELETE popupPanel.hide(); if (((selectedNode.getNodeType() != CellTreeNode.MASTER_ROOT_NODE) && (selectedNode.getNodeType() != CellTreeNode.ROOT_NODE) && (selectedNode.getParent().getNodeType() != CellTreeNode.CLAUSE_NODE) && (selectedNode.getNodeType() != CellTreeNode.CLAUSE_NODE)) || ((selectedNode.getNodeType() == CellTreeNode.CLAUSE_NODE) && (selectedNode.getParent().getChilds().size() > 1))) { removeNode(); isDirty = true; } } } if ((event.isShiftKeyDown() && ((keyCode == ClauseConstants.PLUS_FF) || (keyCode == ClauseConstants.PLUS_IE)))) { // EXPAND/COLLAPSE (+(Shift +) Expand| - Collapse) popupPanel.hide(); openAllNodes(cellTree.getRootTreeNode()); } else if ((event.isShiftKeyDown() && ((keyCode == ClauseConstants.MINUS_FF) || (keyCode == ClauseConstants.MINUS_IE)))) { popupPanel.hide(); closeNodes(cellTree.getRootTreeNode()); } /*if(event.isControlKeyDown() && event.isAltKeyDown() && keyCode == 83){ saveBtn.getElement().focus(); saveBtn.click(); }*/ }