Java 类org.eclipse.draw2d.RelativeBendpoint 实例源码

项目:bdf2    文件:ConnectionEditPart.java   
protected void refreshBendpoints() {
    List<Bendpoint> modelConstraint = ((Connection) getModel()).getBendpoints();
    List<RelativeBendpoint> figureConstraint = new ArrayList<RelativeBendpoint>();
    for (int i = 0; i < modelConstraint.size(); i++) {
        ConnectionBendpoint connectionBendpoint = (ConnectionBendpoint) modelConstraint.get(i);
        RelativeBendpoint rbp = new RelativeBendpoint(getConnectionFigure());
        rbp.setRelativeDimensions(connectionBendpoint.getFirstRelativeDimension(), connectionBendpoint.getSecondRelativeDimension());
        rbp.setWeight((i + 1) / ((float) modelConstraint.size() + 1));
        figureConstraint.add(rbp);
    }
    getConnectionFigure().setRoutingConstraint(figureConstraint);
}
项目:FRaMED    文件:ORMRelationEditPart.java   
/**
 * {@inheritDoc} The refreshVisuals of this {@link EditPart} updates/adds the {@link Bendpoint}s
 * of a {@link Relation}. The content of this method should only be called when the
 * compartmenttype/group/rootmodel where this {@link Relation}s parentrolemodel(for the cases
 * compartmenttype/group) belongs to is the current opened(content of the viewer)
 * compartmenttype/group/rootmodel. The test of getSource() != null and getTarget() != null is
 * needed, because it exist cases where this method is called and getSource() or getTarget()
 * returns null.
 * 
 */
@Override
protected void refreshVisuals() {

  if ((getSource() != null && getTarget() != null)
      && (testRootModel() || testGroup()
          && getSource().getParent().getParent().getParent() instanceof ScalableRootEditPart || getRoot()
          .getContents() instanceof ORMCompartmentEditPart)) {

    Connection connection = getConnectionFigure();
    connection.setVisible(true);
    List<RelativePoint> relativePoints = ((Relation) getModel()).getBendpoints();

    // the bendpoints are added as RelativeBendpoint, because the position of the bendpoints
    // must change when the position of the source or target of the relation changes or the the
    // figure of the content of the viewer has expandable and collapsable elements
    ArrayList<RelativeBendpoint> figureConstraint = new ArrayList<RelativeBendpoint>();

    for (int i = 0; i < relativePoints.size(); i++) {
      RelativeBendpoint rbp = new RelativeBendpoint(getConnectionFigure());
      // p.x = width p.y = height
      Point pSource = relativePoints.get(i).getDistances().get(0);
      Point pTarget = relativePoints.get(i).getDistances().get(1);
      Dimension dim1 = new Dimension(pSource.getX(), pSource.getY());
      Dimension dim2 = new Dimension(pTarget.getX(), pTarget.getY());
      rbp.setRelativeDimensions(dim1, dim2);

      figureConstraint.add(rbp);
    }

    connection.setRoutingConstraint(figureConstraint);
  } else {
    getConnectionFigure().setVisible(false);
  }
}
项目:wt-studio    文件:NodeConnectionEditPart.java   
protected void refreshBendpoints() {
    NodeConnection conn = (NodeConnection) getModel();
    List modelConstraint = conn.getBendpoints();
    List figureConstraint = new ArrayList();
    for (int i = 0; i < modelConstraint.size(); i++) {
        ConnectionBendpoint cbp = (ConnectionBendpoint) modelConstraint
                .get(i);
        RelativeBendpoint rbp = new RelativeBendpoint(getConnectionFigure());
        rbp.setRelativeDimensions(cbp.getFirstRelativeDimension(), cbp
                .getSecondRelativeDimension());
        rbp.setWeight((i + 1) / ((float) modelConstraint.size() + 1));
        figureConstraint.add(rbp);
    }
    getConnectionFigure().setRoutingConstraint(figureConstraint);
}
项目:wt-studio    文件:ColumnConnectionEditPart.java   
protected void refreshBendpoints() {
    ColumnConnection conn = (ColumnConnection) getModel();
    List modelConstraint = conn.getBendpoints();
    List figureConstraint = new ArrayList();
    for (int i = 0; i < modelConstraint.size(); i++) {
        ConnectionBendpoint cbp = (ConnectionBendpoint) modelConstraint
                .get(i);
        RelativeBendpoint rbp = new RelativeBendpoint(getConnectionFigure());
        rbp.setRelativeDimensions(cbp.getFirstRelativeDimension(), cbp
                .getSecondRelativeDimension());
        rbp.setWeight((i + 1) / ((float) modelConstraint.size() + 1));
        figureConstraint.add(rbp);
    }
    getConnectionFigure().setRoutingConstraint(figureConstraint);
}