@Override public void showSizeOnDropFeedback(CreateRequest request, IFigure feedback, Insets insets) { Point p = new Point(request.getLocation().getCopy()); feedback.translateToRelative(p); Dimension size = request.getSize().getCopy(); feedback.translateToRelative(size); feedback.setBounds(new Rectangle(p, size).expand(insets)); }
/* (non-Javadoc) * @see org.eclipse.gef.editpolicies.LayoutEditPolicy#getCreateCommand(org.eclipse.gef.requests.CreateRequest) */ protected Command getCreateCommand(CreateRequest request) { Object newObjectType = request.getNewObjectType(); Command createCommand = null; if (newObjectType == ProvidesDef.class || newObjectType == UsesDef.class || newObjectType == PublishesDef.class || newObjectType == ConsumesDef.class) { CreateNodeCommand create = new CreateNodeCommand(); Dimension dim = request.getSize(); if (dim == null) dim = new Dimension(100, 20); create.setConstraint(new Rectangle(request.getLocation(), dim)); create.setParent((View) getHost().getModel()); create.setModelParent(((View) getHost().getModel()).getModuleDef()); create.setModelObject((Contained) request.getNewObject()); create.setLabel("create a node"); createCommand = create; } return createCommand; }