use of org.jkiss.dbeaver.erd.ui.part.DiagramPart in project dbeaver by serge-rider.
the class DiagramContainerEditPolicy method getCreateCommand.
/**
* @see ContainerEditPolicy#getCreateCommand(org.eclipse.gef.requests.CreateRequest)
*/
@Override
protected Command getCreateCommand(CreateRequest request) {
DiagramPart diagramPart = (DiagramPart) getHost();
Point location = request.getLocation();
diagramPart.getFigure().translateToRelative(location);
Object newObject = request.getNewObject();
if (newObject instanceof ERDNote) {
return new NoteCreateCommand(diagramPart, (ERDNote) newObject, location, request.getSize());
}
List<ERDEntity> entities = null;
if (newObject instanceof ERDEntity) {
entities = Collections.singletonList((ERDEntity) newObject);
} else if (newObject instanceof Collection) {
entities = new ArrayList<>((Collection<ERDEntity>) newObject);
}
if (CommonUtils.isEmpty(entities)) {
return null;
}
// EditPart host = getTargetEditPart(request);
Command entityAddCommand = diagramPart.createEntityAddCommand(entities, location);
if (!entityAddCommand.canExecute()) {
return null;
}
return entityAddCommand;
}
Aggregations