예제 #1
0
  private void deleteConnections(NodeModel part) {
    if (part instanceof CompoundModel) {
      List children = ((CompoundModel) part).getChildren();

      for (int i = 0; i < children.size(); i++) deleteConnections((NodeModel) children.get(i));
    }

    sourceConnections.addAll(part.getSourceConnections());

    for (int i = 0; i < sourceConnections.size(); i++) {
      EdgeModel wire = (EdgeModel) sourceConnections.get(i);
      wire.setHighlight(false);
      wire.getTarget().removeTargetConnection(wire);
      wire.getSource().removeSourceConnection(wire);
    }

    targetConnections.addAll(part.getTargetConnections());

    for (int i = 0; i < targetConnections.size(); i++) {
      EdgeModel wire = (EdgeModel) targetConnections.get(i);
      wire.setHighlight(false);
      wire.getTarget().removeTargetConnection(wire);
      wire.getSource().removeSourceConnection(wire);
    }
  }