public void addAnchors(ComponentView componentView) { Pair<CoordinatePair, CoordinatePair> pairedCoordinates = addAnchorLines(componentView); // Left Anchor Anchor anchor1 = new Anchor(componentView.getParentComponent(), pairedCoordinates.getKey()); // Right Anchor Anchor anchor2 = new Anchor(componentView.getParentComponent(), pairedCoordinates.getValue()); setInteractions(anchor1); setInteractions(anchor2); componentView.getChildren().addAll(anchor1, anchor2); }
public Pair<CoordinatePair, CoordinatePair> addAnchorLines(ComponentView componentView) { Bounds bounds = componentView.getBoundsInParent(); // Left Anchor wire CoordinatePair pair1 = new CoordinatePair(bounds.getMinX() - Component.OFFSET, bounds.getMaxY() / 2); // Right Anchor wire CoordinatePair pair2 = new CoordinatePair(bounds.getMaxX() + Component.OFFSET, bounds.getMaxY() / 2); Line line1 = new Line( bounds.getMinX(), bounds.getMaxY() / 2, bounds.getMinX() - Component.OFFSET, bounds.getMaxY() / 2); Line line2 = new Line( bounds.getMaxX(), bounds.getMaxY() / 2, bounds.getMaxX() + Component.OFFSET, bounds.getMaxY() / 2); componentView.getChildren().addAll(line1, line2); return new Pair(pair1, pair2); }
public Object processInvocation(final InterceptorContext context) throws Exception { ComponentView view = context.getPrivateData(ComponentView.class); return view.invoke(context); }