@Override protected List<?> createSelectionHandles() { final Relationship relation = (Relationship) getHost().getModel(); if (relation.getSourceWalker() == relation.getTargetWalker()) { showSelectedLine(); if (getHost().getRoot().getContents() instanceof ERDiagramEditPart) { // TODO ymd ここを通るケースを確認できず。消すかもしれない。 final ERDiagramEditPart diagramEditPart = (ERDiagramEditPart) getHost().getRoot().getContents(); diagramEditPart.refreshVisuals(); } final List<BendpointMoveHandle> list = new ArrayList<>(); list.add(new BendpointMoveHandle((ConnectionEditPart) getHost(), 1, 2)); return list; } return super.createSelectionHandles(); }
private List createHandlesForUserBendpoints() { List list = new ArrayList(); ConnectionEditPart connEP = (ConnectionEditPart) getHost(); PointList points = getConnection().getPoints(); List bendPoints = (List) getConnection().getRoutingConstraint(); int bendPointIndex = 0; Point currBendPoint = null; if (bendPoints == null) bendPoints = NULL_CONSTRAINT; else if (!bendPoints.isEmpty()) currBendPoint = ((Bendpoint) bendPoints.get(0)).getLocation(); for (int i = 0; i < points.size() - 1; i++) { // Put a create handle on the middle of every segment list.add(new BendpointCreationHandle(connEP, bendPointIndex, i)); // If the current user bendpoint matches a bend location, show a // move handle if (i < points.size() - 1 && bendPointIndex < bendPoints.size() && currBendPoint.equals(points.getPoint(i + 1))) { list.add(new BendpointMoveHandle(connEP, bendPointIndex, i + 1)); // Go to the next user bendpoint bendPointIndex++; if (bendPointIndex < bendPoints.size()) currBendPoint = ((Bendpoint) bendPoints.get(bendPointIndex)) .getLocation(); } } return list; }
@Override protected List createSelectionHandles() { final Relation relation = (Relation) getHost().getModel(); if (relation.getSource() == relation.getTarget()) { final List<BendpointMoveHandle> list = new ArrayList<BendpointMoveHandle>(); final ConnectionEditPart connEP = (ConnectionEditPart) getHost(); list.add(new BendpointMoveHandle(connEP, 1, 2)); showSelectedLine(); // ERDiagramEditPart diagramEditPart = (ERDiagramEditPart) this // .getHost().getRoot().getContents(); // diagramEditPart.refreshVisuals(); return list; } return super.createSelectionHandles(); }
@Override protected List createSelectionHandles() { Relation relation = (Relation) getHost().getModel(); if (relation.getSource() == relation.getTarget()) { List<BendpointMoveHandle> list = new ArrayList<BendpointMoveHandle>(); ConnectionEditPart connEP = (ConnectionEditPart) getHost(); list.add(new BendpointMoveHandle(connEP, 1, 2)); this.showSelectedLine(); // ERDiagramEditPart diagramEditPart = (ERDiagramEditPart) this // .getHost().getRoot().getContents(); // diagramEditPart.refreshVisuals(); return list; } return super.createSelectionHandles(); }