Search in sources :

Example 6 with DiagramPart

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;
}
Also used : NoteCreateCommand(org.jkiss.dbeaver.erd.ui.command.NoteCreateCommand) NoteCreateCommand(org.jkiss.dbeaver.erd.ui.command.NoteCreateCommand) Command(org.eclipse.gef.commands.Command) ERDEntity(org.jkiss.dbeaver.erd.model.ERDEntity) ERDNote(org.jkiss.dbeaver.erd.model.ERDNote) ArrayList(java.util.ArrayList) Collection(java.util.Collection) Point(org.eclipse.draw2d.geometry.Point) DiagramPart(org.jkiss.dbeaver.erd.ui.part.DiagramPart)

Aggregations

DiagramPart (org.jkiss.dbeaver.erd.ui.part.DiagramPart)6 ByteArrayInputStream (java.io.ByteArrayInputStream)2 File (java.io.File)2 FileInputStream (java.io.FileInputStream)2 InputStream (java.io.InputStream)2 ArrayList (java.util.ArrayList)2 Collection (java.util.Collection)2 Point (org.eclipse.draw2d.geometry.Point)2 Command (org.eclipse.gef.commands.Command)2 PaletteDrawer (org.eclipse.gef.palette.PaletteDrawer)2 PartInitException (org.eclipse.ui.PartInitException)2 DBException (org.jkiss.dbeaver.DBException)2 ERDEntity (org.jkiss.dbeaver.erd.model.ERDEntity)2 ERDNote (org.jkiss.dbeaver.erd.model.ERDNote)2 NoteCreateCommand (org.jkiss.dbeaver.erd.ui.command.NoteCreateCommand)2 EntityDiagram (org.jkiss.dbeaver.erd.ui.model.EntityDiagram)2 EntityPart (org.jkiss.dbeaver.erd.ui.part.EntityPart)2 DBSEntity (org.jkiss.dbeaver.model.struct.DBSEntity)2