use of org.jkiss.dbeaver.erd.ui.model.DiagramCollectSettingsDefault in project dbeaver by serge-rider.
the class NodeDropTargetListener method createTargetRequest.
@Override
protected Request createTargetRequest() {
CreateRequest request = new CreateRequest();
request.setFactory(new CreationFactory() {
@Override
public Object getNewObject() {
Collection<DBPNamedObject> objects = DatabaseObjectTransfer.getInstance().getObject();
if (objects == null) {
return null;
}
DBRRunnableWithResult<List<ERDEntity>> collector = new DBRRunnableWithResult<List<ERDEntity>>() {
@Override
public void run(DBRProgressMonitor monitor) {
result = DiagramObjectCollector.generateEntityList(monitor, ((DiagramPart) getViewer().getRootEditPart().getContents()).getDiagram(), objects, new DiagramCollectSettingsDefault(), true);
}
};
try {
UIUtils.runInProgressService(collector);
} catch (InvocationTargetException e) {
DBWorkbench.getPlatformUI().showError("Entity collect error", "Error during diagram entities collect", e);
} catch (InterruptedException e) {
// ignore
}
return collector.getResult();
}
@Override
public Object getObjectType() {
return RequestConstants.REQ_CREATE;
}
});
request.setLocation(getDropLocation());
return request;
}
use of org.jkiss.dbeaver.erd.ui.model.DiagramCollectSettingsDefault in project dbeaver by serge-rider.
the class ERDHandlerPaste method execute.
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
Control control = (Control) HandlerUtil.getVariable(event, ISources.ACTIVE_FOCUS_CONTROL_NAME);
if (control != null) {
ERDEditorPart editor = ERDEditorAdapter.getEditor(control);
if (editor != null && !editor.isReadOnly()) {
final Collection<DBPNamedObject> objects = DatabaseObjectTransfer.getInstance().getObject();
if (!CommonUtils.isEmpty(objects)) {
try {
UIUtils.runInProgressService(monitor -> {
final List<ERDEntity> erdEntities = DiagramObjectCollector.generateEntityList(monitor, editor.getDiagram(), objects, new DiagramCollectSettingsDefault(), true);
if (!CommonUtils.isEmpty(erdEntities)) {
UIUtils.syncExec(() -> {
Command command = editor.getDiagramPart().createEntityAddCommand(erdEntities, new Point(10, 10));
editor.getCommandStack().execute(command);
});
}
});
} catch (InvocationTargetException e) {
DBWorkbench.getPlatformUI().showError("Entity collect error", "Error during diagram entities collect", e);
} catch (InterruptedException e) {
// ignore
}
}
}
}
return null;
}
use of org.jkiss.dbeaver.erd.ui.model.DiagramCollectSettingsDefault in project dbeaver by dbeaver.
the class ERDHandlerPaste method execute.
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
Control control = (Control) HandlerUtil.getVariable(event, ISources.ACTIVE_FOCUS_CONTROL_NAME);
if (control != null) {
ERDEditorPart editor = ERDEditorAdapter.getEditor(control);
if (editor != null && !editor.isReadOnly()) {
final Collection<DBPNamedObject> objects = DatabaseObjectTransfer.getInstance().getObject();
if (!CommonUtils.isEmpty(objects)) {
try {
UIUtils.runInProgressService(monitor -> {
final List<ERDEntity> erdEntities = DiagramObjectCollector.generateEntityList(monitor, editor.getDiagram(), objects, new DiagramCollectSettingsDefault(), true);
if (!CommonUtils.isEmpty(erdEntities)) {
UIUtils.syncExec(() -> {
Command command = editor.getDiagramPart().createEntityAddCommand(erdEntities, new Point(10, 10));
editor.getCommandStack().execute(command);
});
}
});
} catch (InvocationTargetException e) {
DBWorkbench.getPlatformUI().showError("Entity collect error", "Error during diagram entities collect", e);
} catch (InterruptedException e) {
// ignore
}
}
}
}
return null;
}
use of org.jkiss.dbeaver.erd.ui.model.DiagramCollectSettingsDefault in project dbeaver by dbeaver.
the class NodeDropTargetListener method createTargetRequest.
@Override
protected Request createTargetRequest() {
CreateRequest request = new CreateRequest();
request.setFactory(new CreationFactory() {
@Override
public Object getNewObject() {
Collection<DBPNamedObject> objects = DatabaseObjectTransfer.getInstance().getObject();
if (objects == null) {
return null;
}
DBRRunnableWithResult<List<ERDEntity>> collector = new DBRRunnableWithResult<List<ERDEntity>>() {
@Override
public void run(DBRProgressMonitor monitor) {
result = DiagramObjectCollector.generateEntityList(monitor, ((DiagramPart) getViewer().getRootEditPart().getContents()).getDiagram(), objects, new DiagramCollectSettingsDefault(), true);
}
};
try {
UIUtils.runInProgressService(collector);
} catch (InvocationTargetException e) {
DBWorkbench.getPlatformUI().showError("Entity collect error", "Error during diagram entities collect", e);
} catch (InterruptedException e) {
// ignore
}
return collector.getResult();
}
@Override
public Object getObjectType() {
return RequestConstants.REQ_CREATE;
}
});
request.setLocation(getDropLocation());
return request;
}
Aggregations