/** * Filters a list of vertices out of an array of JGraph GraphCell objects. Other objects are * thrown away. * * @param cells Array of cells to be filtered. * @return a list of vertices. */ private List<Object> filterVertices(Object[] cells) { List<Object> jVertices = new ArrayList<Object>(); for (int i = 0; i < cells.length; i++) { Object cell = cells[i]; if (cell instanceof org.jgraph.graph.Edge) { // ignore -- we don't care about edges. } else if (cell instanceof Port) { // ignore -- we don't care about ports. } else if (cell instanceof DefaultGraphCell) { DefaultGraphCell graphCell = (DefaultGraphCell) cell; // If a DefaultGraphCell has a Port as a child, it is a // vertex. // Note: do not change the order of following conditions; // the code uses the short-circuit evaluation of ||. if (graphCell.isLeaf() || (graphCell.getFirstChild() instanceof Port)) { jVertices.add(cell); } } else if (cell instanceof GraphCell) { // If it is not a DefaultGraphCell, it doesn't have // children. jVertices.add(cell); } } return jVertices; }
/** * Returns the JGraph port cell that corresponds to the specified JGraphT vertex. If no * corresponding port found, returns <code>null</code>. * * @param jGraphTVertex a JGraphT vertex of the JGraphT graph. * @return the JGraph port cell that corresponds to the specified JGraphT vertex, or <code>null * </code> if no corresponding cell found. */ public DefaultPort getVertexPort(Object jGraphTVertex) { DefaultGraphCell vertexCell = getVertexCell(jGraphTVertex); if (vertexCell == null) { return null; } else { return (DefaultPort) vertexCell.getChildAt(0); } }
/** * Adds the specified JGraphT vertex to be reflected by this graph model. To be called only for * edges that already exist in the JGraphT graph. * * @param jtVertex a JGraphT vertex to be reflected by this graph model. */ void handleJGraphTAddedVertex(V jtVertex) { DefaultGraphCell vertexCell = cellFactory.createVertexCell(jtVertex); vertexCell.add(new DefaultPort()); vertexToCell.put(jtVertex, vertexCell); cellToVertex.put(vertexCell, jtVertex); internalInsertCell(vertexCell, createVertexAttributeMap(vertexCell), null); }
/** * Removes the specified JGraphT vertex from being reflected by this graph model. To be called * only for vertices that have already been removed from the JGraphT graph. * * @param jtVertex a JGraphT vertex to be removed from being reflected by this graph model. */ void handleJGraphTRemoveVertex(Object jtVertex) { DefaultGraphCell vertexCell = (DefaultGraphCell) vertexToCell.remove(jtVertex); cellToVertex.remove(vertexCell); List<Object> ports = new ArrayList<Object>(); for (Object child : vertexCell.getChildren()) { if (this.isPort(child)) { ports.add(child); } } this.remove(ports.toArray()); internalRemoveCell(vertexCell); }
protected Vector<AbstractAction> createChangeViewActions( final DefaultGraphCell cell, final ModelJGraph graph) { Vector<AbstractAction> possibleViews = new Vector<AbstractAction>(); final ingenias.editor.entities.Entity ent = ((ingenias.editor.entities.Entity) cell.getUserObject()); if (ent.getClass().getName().equals("ingenias.editor.entities.TestingPackage")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.TestingPackage")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DeploymentPackage")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DeploymentPackage")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.SimulationPackage")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.SimulationPackage")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.INGENIASComponent")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.INGENIASComponent")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.Application")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.Application")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.EnvironmentApplication")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.EnvironmentApplication")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.InternalApplication")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.InternalApplication")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.UMLComment")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.UMLComment")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DeploymentUnitByType")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DeploymentUnitByType")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass() .getName() .equals("ingenias.editor.entities.DeploymentUnitByTypeEnumInitMS")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass() .getName() .equals("ingenias.editor.entities.DeploymentUnitByTypeEnumInitMS")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DeploymentUnitByTypeMSEntity")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.UML; possibleViews.add( new AbstractAction("UML") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.UML); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.UML); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DeploymentUnitByTypeMSEntity")) { final ViewPreferences.ViewType current1 = ViewPreferences.ViewType.INGENIAS; possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ent.getPrefs().setView(ViewPreferences.ViewType.INGENIAS); // ingenias.editor.cell.TextUseCaseRenderer.setCurrent(ViewPreferences.ViewType.INGENIAS); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.UMLAnnotatedElement")) { possibleViews.add( new AbstractAction("NOICON") { public void actionPerformed(ActionEvent e) { ingenias.editor.cell.RenderComponentManager.setRelationshipView( ViewPreferences.ViewType.NOICON, ent, cell, graph); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.UMLAnnotatedElement")) { possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ingenias.editor.cell.RenderComponentManager.setRelationshipView( ViewPreferences.ViewType.INGENIAS, ent, cell, graph); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.UMLAnnotatedElement")) { possibleViews.add( new AbstractAction("LABEL") { public void actionPerformed(ActionEvent e) { ingenias.editor.cell.RenderComponentManager.setRelationshipView( ViewPreferences.ViewType.LABEL, ent, cell, graph); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DefinesDeployment")) { possibleViews.add( new AbstractAction("NOICON") { public void actionPerformed(ActionEvent e) { ingenias.editor.cell.RenderComponentManager.setRelationshipView( ViewPreferences.ViewType.NOICON, ent, cell, graph); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DefinesDeployment")) { possibleViews.add( new AbstractAction("INGENIAS") { public void actionPerformed(ActionEvent e) { ingenias.editor.cell.RenderComponentManager.setRelationshipView( ViewPreferences.ViewType.INGENIAS, ent, cell, graph); graph.repaint(); } }); } if (ent.getClass().getName().equals("ingenias.editor.entities.DefinesDeployment")) { possibleViews.add( new AbstractAction("LABEL") { public void actionPerformed(ActionEvent e) { ingenias.editor.cell.RenderComponentManager.setRelationshipView( ViewPreferences.ViewType.LABEL, ent, cell, graph); graph.repaint(); } }); } return possibleViews; }