use of org.kie.workbench.common.stunner.core.client.canvas.Canvas in project kie-wb-common by kiegroup.
the class CanvasDiagramValidator method applyViolation.
private boolean applyViolation(final H canvasHandler, final RuleViolation violation) {
if (hasViolations(violation)) {
final Canvas canvas = canvasHandler.getCanvas();
final Shape shape = getShape(canvasHandler, violation.getUUID());
if (null != shape) {
shape.applyState(ShapeState.INVALID);
canvas.draw();
}
return true;
}
return false;
}
use of org.kie.workbench.common.stunner.core.client.canvas.Canvas in project kie-wb-common by kiegroup.
the class EdgeBuilderControlImpl method build.
@Override
@SuppressWarnings("unchecked")
public void build(final EdgeBuildRequest request, final BuildCallback buildCallback) {
final double x = request.getX();
final double y = request.getY();
final Edge<? extends ViewConnector<?>, Node> edge = request.getEdge();
final AbstractCanvasHandler<?, ?> wch = canvasHandler;
final Node<? extends View<?>, Edge> inNode = request.getInNode();
final Node<? extends View<?>, Edge> outNode = request.getOutNode();
final Canvas canvas = canvasHandler.getCanvas();
if (null == inNode) {
throw new RuntimeException(" An edge must be into the outgoing edges list from a node.");
}
final String ssid = canvasHandler.getDiagram().getMetadata().getShapeSetId();
final CompositeCommand.Builder commandBuilder = new CompositeCommand.Builder().addCommand(commandFactory.addConnector(inNode, edge, MagnetConnection.Builder.forElement(inNode), ssid));
if (null != outNode) {
commandBuilder.addCommand(commandFactory.setTargetNode(outNode, edge, MagnetConnection.Builder.forElement(outNode)));
}
final CommandResult<CanvasViolation> results = getCommandManager().execute(wch, commandBuilder.build());
if (CommandUtils.isError(results)) {
LOGGER.log(Level.WARNING, results.toString());
}
canvasHandler.applyElementMutation(edge, MutationContext.STATIC);
buildCallback.onSuccess(edge.getUUID());
}
Aggregations