@SuppressWarnings("unchecked") @Override protected List<Figure> createSelectionHandles() { List<Figure> list=super.createSelectionHandles(); List<IFigure> figures=this.getHostFigure().getChildren(); for(IFigure figure:figures){ if(figure instanceof Label){ list.add(new MoveHandle((GraphicalEditPart)this.getHost(),new MoveHandleLocator(figure))); } } return list; }
/** * SequenceLineMoveHandle * @param owner */ public SequenceLineMoveHandle(GraphicalEditPart owner) { super(owner); if(owner.getFigure() instanceof LineFigure){ setLocator(new MoveHandleLocator(((LineFigure)owner.getFigure()).getLine())); } }
public SplitHandle(GraphicalEditPart owner, IFigure figure) { super(owner, new MoveHandleLocator(figure)); figure.addFigureListener(new FigureListener() { @Override public void figureMoved(IFigure source) { revalidate(); } }); }
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override protected List createSelectionHandles() { List handles = super.createSelectionHandles(); List<IFigure> children = (List<IFigure>) getHostFigure().getChildren(); for (IFigure figure : children) { if (figure instanceof Label) handles.add(new MoveHandle((GraphicalEditPart) getHost(), new MoveHandleLocator(figure))); } return handles; }
public BandMoveHandle(GraphicalEditPart owner) { this(owner, new MoveHandleLocator(owner.getFigure())); }
public TextOverlay() { super((GraphicalEditPart) getHost(), new MoveHandleLocator(getHostFigure()) { @Override public void relocate(IFigure target) { if (!getHostFigure().isShowing() || nodeText == null || nodeText.length() == 0) { super.relocate(target); return; } Rectangle figureBounds; if (getReference() instanceof HandleBounds) { figureBounds = ((HandleBounds)getReference()).getHandleBounds(); } else { figureBounds = getReference().getBounds(); } figureBounds = new Rectangle(figureBounds.getResized(-1, -1)); int xInset = 3; switch (getDesiredAlignment()) { case TRUNCATE: figureBounds.x += xInset; figureBounds.width = figureBounds.width - 2*xInset; break; case LEFT: figureBounds.x += xInset; figureBounds.width = textSize.width + 2*xInset; break; case CENTER: figureBounds.x = figureBounds.x + figureBounds.width/2 - textSize.width/2; figureBounds.width = textSize.width + 2*xInset; break; case RIGHT: figureBounds.x = figureBounds.x + figureBounds.width - textSize.width - xInset; figureBounds.width = textSize.width + 2*xInset; break; case TRAILING: figureBounds.x = figureBounds.x + figureBounds.width + xInset; figureBounds.width = textSize.width + 2*xInset; break; } figureBounds.y = figureBounds.y + figureBounds.height/2 - textSize.height/2; Insets insets = target.getInsets(); figureBounds.translate(-insets.left, -insets.top); figureBounds.resize(insets.getWidth() + 1, insets.getHeight() + 1); if (!CommonUtils.equals(target.getBounds(), figureBounds)) { target.setBounds(figureBounds); } } }); }