/** * @see org.eclipse.gef.editparts.AbstractEditPart#eraseSourceFeedback(org.eclipse.gef.Request) */ public void eraseSourceFeedback(Request request) { if (isActive()) { EditPolicyIterator iter = getEditPolicyIterator(); while (iter.hasNext()) { EditPolicy nextEditPolicy = iter.next(); if(nextEditPolicy instanceof ResizableEditPolicy) { List<Object> feedbackList = getLayer(LayerConstants.FEEDBACK_LAYER).getChildren(); if(null == feedbackList || feedbackList.isEmpty()){ continue; } } nextEditPolicy.eraseSourceFeedback(request); } } }
/** * @generated */ @Override public EditPolicy getPrimaryDragEditPolicy() { EditPolicy result = super.getPrimaryDragEditPolicy(); if (result instanceof ResizableEditPolicy) { ResizableEditPolicy ep = (ResizableEditPolicy) result; ep.setResizeDirections(PositionConstants.NONE); } return result; }
@Override protected EditPolicy createChildEditPolicy(EditPart child) { if(child instanceof NodeElementEditPart){ return new ResizableEditPolicy(); }else{ return new NonResizableEditPolicy(); } }
/** * @see org.eclipse.gef.editparts.AbstractEditPart#deactivateEditPolicies() */ protected void deactivateEditPolicies() { EditPolicyIterator iter = getEditPolicyIterator(); while (iter.hasNext()) { EditPolicy nextEditPolicy = iter.next(); if(nextEditPolicy instanceof ResizableEditPolicy) { List<Object> feedbackList = getLayer(LayerConstants.FEEDBACK_LAYER).getChildren(); if(null == feedbackList || feedbackList.isEmpty()){ continue; } } nextEditPolicy.deactivate(); } }
/** * @generated */ public EditPolicy getPrimaryDragEditPolicy() { EditPolicy result = super.getPrimaryDragEditPolicy(); if (result instanceof ResizableEditPolicy) { ResizableEditPolicy ep = (ResizableEditPolicy) result; ep.setResizeDirections(PositionConstants.NONE); } return result; }
protected EditPolicy createChildEditPolicy( EditPart child ) { return new ResizableEditPolicy( ) { protected IFigure createDragSourceFeedbackFigure( ) { // Use a ghost rectangle for feedback Figure r = new Figure( ) { protected void paintFigure( Graphics graphics ) { Rectangle rect = getBounds( ).getCopy( ); graphics.setXORMode( true ); graphics.setForegroundColor( ColorConstants.white ); graphics.setBackgroundColor( ColorManager.getColor( 31, 31, 31 ) ); graphics.translate( getLocation( ) ); PointList outline = new PointList( ); outline.addPoint( 0, 0 ); outline.addPoint( rect.width, 0 ); outline.addPoint( rect.width - 1, 0 ); outline.addPoint( rect.width - 1, rect.height - 1 ); outline.addPoint( 0, rect.height - 1 ); graphics.fillPolygon( outline ); // draw the inner outline PointList innerLine = new PointList( ); innerLine.addPoint( rect.width - 0 - 1, 0 ); innerLine.addPoint( rect.width - 0 - 1, 0 ); innerLine.addPoint( rect.width - 1, 0 ); innerLine.addPoint( rect.width - 0 - 1, 0 ); innerLine.addPoint( 0, 0 ); innerLine.addPoint( 0, rect.height - 1 ); innerLine.addPoint( rect.width - 1, rect.height - 1 ); innerLine.addPoint( rect.width - 1, 0 ); graphics.drawPolygon( innerLine ); graphics.drawLine( rect.width - 0 - 1, 0, rect.width - 1, 0 ); graphics.translate( getLocation( ).getNegated( ) ); } }; r.setBounds( getInitialFeedbackBounds( ) ); addFeedback( r ); return r; } }; }
protected EditPolicy createChildEditPolicy(EditPart child) { ResizableEditPolicy policy = new ResizableEditPolicy(); policy.setResizeDirections(PositionConstants.EAST_WEST); return policy; }