예제 #1
0
 @Override
 public void setLayer(ILayer layer) {
   for (IVisualizableNode node : getInnerNodes()) {
     node.setLayer(layer);
   }
   super.setLayer(layer);
 }
예제 #2
0
 @Override
 public boolean isOfSameLeafGroup(IVisualizableNode node) {
   for (IVisualizableNode visualizableNode : getInnerNodes()) {
     if (visualizableNode.isOfSameLeafGroup(node)) {
       return true;
     }
   }
   return false;
 }
예제 #3
0
 private void positionInnerNodes() {
   IVisualizableNode[] innerNodes = getInnerNodes();
   int nodePosition = getLeftSide() + innerNodes[0].getWidth() / 2;
   for (int nodeIndex = 0; nodeIndex < innerNodes.length; nodeIndex++) {
     IVisualizableNode node = innerNodes[nodeIndex];
     node.setPosition(nodePosition);
     if (nodeIndex < innerNodes.length - 1) {
       nodePosition +=
           node.getWidth() / 2 + gapDimension.width + innerNodes[nodeIndex + 1].getWidth() / 2;
     }
   }
 }
  @Override
  public boolean isOfSameLeafGroup(IVisualizableNode node) {
    final boolean[] result = new boolean[1];
    node.accept(
        new IVisualizableNodeVisitor() {

          @Override
          public void visitSingleNode(VisualizableNode visitedNode) {
            result[0] = visitAbstractSingleNode(visitedNode);
          }

          @Override
          public void visitHorizontalMetaNode(HorizontalMetaNode visitedNode) {
            result[0] = visitedNode.isOfSameLeafGroup(AbstractSingleVisualizableNode.this);
          }

          @Override
          public void visitDummyNode(VisualizableDummyNode visitedNode) {
            result[0] = visitAbstractSingleNode(visitedNode);
          }
        });
    return result[0];
  }
 @Override
 public int compare(IVisualizableNode node1, IVisualizableNode node2) {
   return node1.getPosition() - node2.getPosition();
 }