コード例 #1
0
  protected void moveClassShape(
      IFeatureProvider fp, Diagram diagram, int x, int y, String className) {

    Shape shape = findShapeForEClass(diagram, className);

    MoveShapeContext moveShapeContext = new MoveShapeContext(shape);

    moveShapeContext.setSourceContainer(shape.getContainer());
    moveShapeContext.setTargetContainer(shape.getContainer());
    moveShapeContext.setLocation(x, y);
    moveShapeContext.setDeltaX(x - shape.getGraphicsAlgorithm().getX());
    moveShapeContext.setDeltaY(y - shape.getGraphicsAlgorithm().getY());

    IMoveShapeFeature moveShapeFeature = fp.getMoveShapeFeature(moveShapeContext);
    assertNotNull("move shape feature not available", moveShapeFeature);

    if (moveShapeFeature.canMoveShape(moveShapeContext)) {
      moveShapeFeature.execute(moveShapeContext);
    }
  }