예제 #1
0
 public void nodeOrEdgeSelectionChanged() {
   final String[] edges = new String[graph.getSelectedEdges().size()];
   final String[] nodes = new String[graph.getSelectedShapes().size()];
   int i = 0;
   for (final VEdge vedge : graph.getSelectedEdges()) {
     edges[i] = vedge.toString();
     ++i;
   }
   i = 0;
   for (final VNode vnode : graph.getSelectedShapes()) {
     nodes[i] = vnode.toString();
     ++i;
   }
   client.updateVariable(paintableId, "selectedEdges", edges, false);
   client.updateVariable(paintableId, "selectedNodes", nodes, true);
 }
예제 #2
0
 public void constructLinkTo(final VNode node2) {
   VConsole.log("linked");
   final String name =
       linkNode.getName() + "_to_" + node2.getName() + "_" + new Random().nextInt(1000);
   final VEdge edge = VEdge.createAnEdge(null, this, graph, name, linkNode, node2, style);
   client.updateVariable(
       paintableId, "edgeCreated", new String[] {linkNode.getName(), node2.getName(), name}, true);
   graph.addEdge(edge);
 }
예제 #3
0
 private void selectNodesAndEdgesInTheBox(
     final int startX, final int startY, final int endX, final int endY) {
   for (final VNode node : graph.getSelectedShapes()) {
     graph.setNodeSelected(node, false);
   }
   for (final VEdge edge : graph.getSelectedEdges()) {
     graph.setEdgeSelected(edge, false);
   }
   for (final VNode node : graph.getPaintedShapes()) {
     if (isInArea(node.getX(), node.getY(), startX, startY, endX, endY)) {
       graph.setNodeSelected(node, true);
     }
   }
   for (final VEdge edge : graph.getSelectedEdges()) {
     if (graph.getSelectedShapes().contains(edge.getFirstNode())
         && graph.getSelectedShapes().contains(edge.getSecondNode())) {
       graph.setEdgeSelected(edge, true);
     }
   }
   nodeOrEdgeSelectionChanged();
 }
예제 #4
0
 private void deleteEdge(final VEdge edge, final boolean immediate) {
   client.updateVariable(paintableId, "removedEdge", edge.getName(), immediate);
   graph.removeEdge(edge);
 }
예제 #5
0
 public boolean PathEquals(VEdge v) {
   if (v.getEdgeType() != VEdge.QUADCURVE) return false; // not the same type
   Point vcp = v.getControlPoints().firstElement();
   // both are quadcurves so they share same path if the bezierpoint is equal
   return ((bezierpoint.x == vcp.x) && (bezierpoint.y == vcp.y));
 }