/** * Iterating through all the child nodes and setting the isOpen boolean to false. * * @param node the new open to false */ private void setOpenToFalse(CellTreeNode node) { if (node.hasChildren()) { for (CellTreeNode child : node.getChilds()) { child.setOpen(false); setOpenToFalse(child); } } }
/* (non-Javadoc) * @see com.google.gwt.view.client.TreeViewModel#getNodeInfo(java.lang.Object) */ @Override public <T> NodeInfo<?> getNodeInfo(T value) { if (value == null) { NodeCell nodeCell = new NodeCell(); return new DefaultNodeInfo<CellTreeNode>(nodeDataProvider, nodeCell, selectionModel, null); } else { CellTreeNode myValue = (CellTreeNode) value; ListDataProvider<CellTreeNode> dataProvider = new ListDataProvider<CellTreeNode>(myValue.getChilds()); NodeCell nodeCell = new NodeCell(); return new DefaultNodeInfo<CellTreeNode>(dataProvider, nodeCell, selectionModel, null); } }
/* (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(); }*/ }
/** * Creates the Root Node in the CellTree. Sets the Root node to the ListData Provider. * * @param cellTreeNode the cell tree node */ private void createRootNode(CellTreeNode cellTreeNode) { nodeDataProvider = new ListDataProvider<CellTreeNode>(cellTreeNode.getChilds()); }