public Layout<V,E> getGraphLayout() { return model.getGraphLayout(); }
@Override public GUILink getEdge(MouseEvent e) { final VisualizationViewer<GUINode, GUILink> vv = (VisualizationViewer<GUINode, GUILink>) e.getSource(); GraphElementAccessor<GUINode, GUILink> pickSupport = vv.getPickSupport(); if (pickSupport != null) { final Point p = e.getPoint(); return pickSupport.getEdge(vv.getModel().getGraphLayout(), p.getX(), p.getY()); } return null; }
public GUINode getVertex(MouseEvent e) { final VisualizationViewer<GUINode, GUILink> vv = (VisualizationViewer<GUINode, GUILink>) e.getSource(); GraphElementAccessor<GUINode, GUILink> pickSupport = vv.getPickSupport(); if (pickSupport != null) { final Point p = e.getPoint(); final GUINode vertex = pickSupport.getVertex(vv.getModel().getGraphLayout(), p.getX(), p.getY()); if (vertex != null) return vertex; } return null; }
/** * Gets the vertex at a particular point, or null if it does not exist. * * @param point2D * @return */ public Object getVertex(final Point2D point2D) { final GraphElementAccessor<?, ?> pickSupport = _visualizationViewer.getPickSupport(); @SuppressWarnings("rawtypes") final Layout graphLayout = _visualizationViewer.getModel().getGraphLayout(); @SuppressWarnings("unchecked") final Object vertex = pickSupport.getVertex(graphLayout, point2D.getX(), point2D.getY()); return vertex; }
@Override public void setVisible(boolean aFlag) { super.setVisible(aFlag); if(aFlag == true) { Dimension d = this.getSize(); if(d.width <= 0 || d.height <= 0) { d = this.getPreferredSize(); } model.getGraphLayout().setSize(d); } }
GraphElementAccessor<V,E> pickSupport = vv.getPickSupport(); if(pickSupport != null) { final V vertex = pickSupport.getVertex(vv.getModel().getGraphLayout(), p.getX(), p.getY()); if(vertex != null) { // get ready to make an edge this.createMode = Creating.EDGE; Graph<V,E> graph = vv.getModel().getGraphLayout().getGraph();
private void setLtoR(VisualizationViewer<String,Integer> vv) { Layout<String,Integer> layout = vv.getModel().getGraphLayout(); Dimension d = layout.getSize(); Point2D center = new Point2D.Double(d.width/2, d.height/2); vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.LAYOUT).rotate(-Math.PI/2, center); }
Layout<V,E> layout = model.getGraphLayout();
Random r = new Random(); int cnt=r.nextInt(); final Vertex vertex = pickSupport.getVertex(vv.getModel().getGraphLayout(), p.getX(), p.getY()); Vertex v=new Vertex(nodeType+cnt, "soft", ai); graph.addVertex(v); vv.getModel().getGraphLayout().setLocation(v, vv.getRenderContext().getMultiLayerTransformer().inverseTransform(e.getPoint())); Edge newEdge=new Edge(ai.getDestination().getName()+cnt, "destination"); Vertex dest=null; Vertex v=new Vertex(nodeType+cnt, "node", ai); graph.addVertex(v); vv.getModel().getGraphLayout().setLocation(v, vv.getRenderContext().getMultiLayerTransformer().inverseTransform(e.getPoint())); final Vertex vertex = pickSupport.getVertex(vv.getModel().getGraphLayout(), p.getX(), p.getY()); final Edge edge = pickSupport.getEdge(vv.getModel().getGraphLayout(), p.getX(), p.getY()); if(vertex != null){ if(vertex.getType().equals("node")){
Random r = new Random(); int cnt = r.nextInt(); final Vertex vertex = pickSupport.getVertex(vv.getModel().getGraphLayout(), p.getX(), p.getY()); vv.getModel().getGraphLayout().setLocation(v, vv.getRenderContext().getMultiLayerTransformer().inverseTransform(e.getPoint())); Edge newEdge = new Edge(ai.getRequiredExecutionPlatform().getName() + cnt, "destination"); Vertex dest = null; Vertex v = new Vertex(nodeType + cnt, "node", ai); graph.addVertex(v); vv.getModel().getGraphLayout().setLocation(v, vv.getRenderContext().getMultiLayerTransformer().inverseTransform(e.getPoint())); final Vertex vertex = pickSupport.getVertex(vv.getModel().getGraphLayout(), p.getX(), p.getY()); final Edge edge = pickSupport.getEdge(vv.getModel().getGraphLayout(), p.getX(), p.getY()); if (vertex != null) { if (vertex.getType().equals("node")) {
/** * Create an instance with the specified model and view dimension. * * @param model the model to use * @param preferredSize initial preferred size of the view */ public BasicVisualizationServer(VisualizationModel<V,E> model, Dimension preferredSize) { this.model = model; renderContext = new PluggableRenderContext<V,E>(model.getGraphLayout().getGraph()); model.addChangeListener(this); setDoubleBuffered(false); this.addComponentListener(new VisualizationListener(this)); setPickSupport(new ShapePickSupport<V,E>(this)); setPickedVertexState(new MultiPickedState<V>()); setPickedEdgeState(new MultiPickedState<E>()); renderContext.setEdgeDrawPaintTransformer(new PickableEdgePaintTransformer<E>(getPickedEdgeState(), Color.black, Color.cyan)); renderContext.setVertexFillPaintTransformer(new PickableVertexPaintTransformer<V>(getPickedVertexState(), Color.red, Color.yellow)); setPreferredSize(preferredSize); renderingHints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); renderContext.getMultiLayerTransformer().addChangeListener(this); }