@Override public Object getParentElement(final Object element) { NodeElement nodeElement = (NodeElement) element; return nodeElement.getForcedParent() != null ? nodeElement.getForcedParent() : myChild2Parent.get(nodeElement); }
/** * Constructs a new text element for a specified node element * * @param treeRepresentation tree representation * @param nodeElement node element * @param text text */ public TextElement(TreeRepresentation treeRepresentation, NodeElement nodeElement, String text) { super(treeRepresentation, "text"); this.treeRepresentation = treeRepresentation; this.nodeElement = nodeElement; tspanVector = new Vector<TSpanElement>(); // id setId(TreeRepresentation.NODE_TEXT_IDENTIFIER_PREFIX + "@" + nodeElement.getId()); element.setAttribute("style", "text-anchor:start;"); element.setAttribute("xml:space", "preserve"); // tspan createHeadTSpanElement(0); if (text == null) text = DEFAULT_TEXT; createTextTSpanElement( text, treeRepresentation.getTreeEditorBridge().getUIFormatJToolBar().getFontFormatting(), 0); createTailTSpanElement(0); // properties setAlignment(treeRepresentation.getTreeEditorBridge().getUIFormatJToolBar().getAlignment()); setVisible(true); setTaintMode(TAINTED); }
/** * Returns the height of the generation to which this text element belongs. * * @return generation height */ public float getGenerationHeight() { float height = 0.0f; Vector<NodeElement> generationVector = nodeElement.getGenerationVector(); for (int i = 0; i < generationVector.size(); i++) height = Math.max(height, generationVector.elementAt(i).getTextElement().getHeight()); return height; }
/** * Sets the visibility of this text element to the specified boolean. * * @param isVisible boolean */ public void setVisible(boolean isVisible) { this.isVisible = isVisible; if (isVisible) { element.setAttribute("visibility", VISIBLE); } else { element.setAttribute("visibility", INVISIBLE); } // taint setTaintMode(TextElement.TAINTED); for (int i = 0; i < nodeElement.getDaughterVector().size(); i++) nodeElement.getDaughterVector().elementAt(i).setTaintMode(NodeElement.TAINTED); NodeElement iteratorElement = nodeElement; while (iteratorElement != null) { iteratorElement.setTaintMode(NodeElement.TAINTED); iteratorElement = iteratorElement.getMother(); } }
@Nullable private Node remove(final NodeElement name, boolean removeRefToParent) { final Iterator<Node> kids = myChildElements.iterator(); Node removed = null; while (kids.hasNext()) { Node each = kids.next(); if (name.equals(each.myElement)) { kids.remove(); removed = each; break; } } if (removeRefToParent) { myStructure.myChild2Parent.remove(name); } return removed; }
@Nullable private DefaultMutableTreeNode findNode( DefaultMutableTreeNode treeNode, NodeElement toFind, boolean shouldBeSelected) { final Object object = treeNode.getUserObject(); Assert.assertNotNull(object); if (!(object instanceof NodeDescriptor)) return null; final NodeElement element = (NodeElement) ((NodeDescriptor) object).getElement(); if (toFind.equals(element)) return treeNode; for (int i = 0; i < treeNode.getChildCount(); i++) { final DefaultMutableTreeNode result = findNode((DefaultMutableTreeNode) treeNode.getChildAt(i), toFind, shouldBeSelected); if (result != null) { if (shouldBeSelected) { final TreePath path = new TreePath(result.getPath()); Assert.assertTrue("Path should be selected: " + path, myTree.isPathSelected(path)); } return result; } } return null; }
public static void printType(NodeType type) { if (type instanceof NodeSynonym) { System.out.println("NodeSynonym: " + ((NodeSynonym) type).getID()); } // System.out.println("NodeSynonym: " + ((NodeSynonym)type).getType()); else if (type instanceof NodePLType) { System.out.println("PLType: " + ((NodePLType) type).getType()); } else if (type instanceof NodePointer) { System.out.println("Puntero a"); System.out.print(" "); printType(((NodePointer) type).getType()); } else if (type instanceof NodeArray) { System.out.print("Arreglo de tamaño " + ((NodeArray) type).getSize() + " de tipo: "); printType(((NodeArray) type).getType()); } else if (type instanceof NodeStructure) { NodeStructure structure = (NodeStructure) type; // List<NodeElement> elements = record.getElements(); CHANGE List<NodeElement> elements = structure.getElements(); Iterator<NodeElement> iter = elements.iterator(); // System.out.println("Estructura: " + "Nombre: " + record.getName()); CHANGE System.out.println("Estructura: " + "Nombre: " + structure.getName()); int i = 1; NodeElement element; while (iter.hasNext()) { element = iter.next(); System.out.println("Campo " + i + ": "); i++; // System.out.println("Nombre: " + (element.getName())); CHANGE System.out.println("Nombre: " + (element.getID())); System.out.print("Tipo: "); printType(element.getType()); } } else if (type instanceof NodeList) { NodeList list = (NodeList) type; // List<NodeField> fields = list.getFields(); CHANGE List<NodeElement> fields = list.getFields(); // Iterator<NodeField> iter = fields.iterator(); CHANGE Iterator<NodeElement> iter = fields.iterator(); System.out.println("Lista"); System.out.println("Nombre: " + list.getName()); System.out.println("LinkType: " + list.getLinkType()); System.out.println("LinkNexName: " + list.getLinkNextName()); if (list.getLinkPrevName() != null) { System.out.println("LinkPrevName: " + list.getLinkPrevName()); } int i = 1; NodeElement field; while (iter.hasNext()) { field = iter.next(); System.out.println("Campo " + i + ":"); i++; // System.out.println("Nombre: " + (field.getName())); CHANGE System.out.println("Nombre: " + (field.getID())); System.out.print("Tipo: "); printType(field.getType()); } // if (list.getMemalloc() != null ) CHANGE if (list.getMemAlloc() != null) { System.out.println("MemallocFunction: "); // System.out.println(list.getMemalloc()); CHANGE System.out.println(list.getMemAlloc()); } } else if (type instanceof NodeFile) { NodeFile file = (NodeFile) type; System.out.println("Archivo"); System.out.println("Nombre: " + file.getName()); System.out.println("Ruta: " + file.getPath()); System.out.println("Delimitador: " + file.getDelimiter()); if (file.getEof() != null) { System.out.println("EOF: " + file.getEof()); } if (file.getEol() != null) { System.out.println("EOL: " + file.getEol()); } if (file.getStructure() != null) { System.out.println("Estructura: " + file.getStructure()); } } else if (type instanceof NodeDB) { NodeDB db = (NodeDB) type; List<NodeDBColumn> regs = db.getColumns(); Iterator<NodeDBColumn> iter = regs.iterator(); System.out.println("Base de Datos"); System.out.println("DBMS: " + db.getDBMSID()); // System.out.println("connectionID " + db.getConnID()); CHANGE System.out.println("connectionID " + db.getConnectionID()); // System.out.println("Table name: " + db.getTable()); CHANGE System.out.println("Table name: " + db.getTableName()); System.out.println("Registros:"); int i = 1; while (iter.hasNext()) { NodeDBColumn rec = iter.next(); System.out.println( "Registro " + i + ": " + rec.getColType() + " tipo: " + rec.getColType()); i++; } } }
public void delete() { final NodeElement parent = (NodeElement) myStructure.getParentElement(myElement); Assert.assertNotNull(myElement.toString(), parent); myStructure.getNodeFor(parent).remove(myElement, true); }
@Override public String toString() { return myElement.toString(); }