@SuppressWarnings("unchecked") public void validate(final H canvasHandler, final Consumer<Collection<DiagramElementViolation<RuleViolation>>> callback) { diagramValidator.validate(canvasHandler.getDiagram(), violations -> { checkViolations(canvasHandler, violations); callback.accept(violations); }); }
@Override @SuppressWarnings("unchecked") public D getInstance() { return null != getHandler() ? (D) getHandler().getDiagram() : null; }
@Override @SuppressWarnings("unchecked") public ToolboxAction<AbstractCanvasHandler> onMouseClick(final AbstractCanvasHandler canvasHandler, final String uuid, final MouseClickEvent event) { formGenerationManager.call(service -> service.generateSelectedForms(canvasHandler.getDiagram(), new String[]{uuid})); return this; } }
@Override public void build(final AbstractCanvasHandler canvasHandler, final Consumer<DefaultPaletteDefinition> paletteDefinition) { build(canvasHandler.getDiagram().getMetadata(), paletteDefinition); }
@Inject public SessionViewerImpl(final WidgetWrapperView view, final ScrollableLienzoPanel canvasPanel, final StunnerPreferencesRegistries preferencesRegistries) { this.canvasPanel = canvasPanel; this.preferencesRegistries = preferencesRegistries; this.diagramViewer = new SessionDiagramViewer(view); this.diagramSupplier = () -> null != getSessionHandler() ? getSessionHandler().getDiagram() : null; }
@Inject public SessionEditorImpl(final WidgetWrapperView view, final ScrollableLienzoPanel canvasPanel, final StunnerPreferencesRegistries preferencesRegistries) { this.canvasPanel = canvasPanel; this.preferencesRegistries = preferencesRegistries; this.diagramViewer = new SessionDiagramEditor(view); this.diagramSupplier = () -> null != getSessionHandler() ? getSessionHandler().getDiagram() : null; }
protected boolean onlyCanvasRootSelected(final CanvasSelectionEvent event) { return event.getIdentifiers().size() == 1 && getCanvasHandler().getDiagram().getMetadata().getCanvasRootUUID().equals(event.getIdentifiers().iterator().next()); }
@SuppressWarnings("unchecked") private void start(final AbstractCanvasHandler canvasHandler) { canvasHighlight = canvasHighlightBuilder.apply(canvasHandler); graphBoundsIndexer.setRootUUID(canvasHandler.getDiagram().getMetadata().getCanvasRootUUID()); graphBoundsIndexer.build(canvasHandler.getDiagram().getGraph()); edgeBuilderControl.init(canvasHandler); edgeBuilderControl.setCommandManagerProvider(() -> sessionCommandManager); }
@SuppressWarnings("unchecked") public Node<View<?>, Edge> getParent(final double _x, final double _y) { if (_x > -1 && _y > -1) { final String rootUUID = canvasHandler.getDiagram().getMetadata().getCanvasRootUUID(); graphBoundsIndexer.setRootUUID(rootUUID).build(canvasHandler.getDiagram().getGraph()); final Node<View<?>, Edge> r = graphBoundsIndexer.getAt(_x, _y); return r; } return null; }
@Override protected Command<GraphCommandExecutionContext, RuleViolation> newGraphCommand(final AbstractCanvasHandler context) { final String rootUUID = context.getDiagram().getMetadata().getCanvasRootUUID(); return new ClearGraphCommand(rootUUID); }
@Override public CommandResult<CanvasViolation> undo(final AbstractCanvasHandler context) { final String ssid = context.getDiagram().getMetadata().getShapeSetId(); final AbstractCanvasCommand command = createUndoCommand(parent, candidate, ssid); return command.execute(context); }
@Override public CommandResult<CanvasViolation> undo(final AbstractCanvasHandler context) { final String ssid = context.getDiagram().getMetadata().getShapeSetId(); return new AddCanvasConnectorCommand(candidate, ssid).execute(context); }
protected Consumer<Node> cloneNodeCallback(AbstractCanvasHandler context) { return clone -> { //check if not a redo operation, in case size == 1 it was set before if (!command.isEmpty()) { command = buildCommand(); } command.addCommand(getCloneCanvasNodeCommand(GraphUtils.getParent(clone).asNode(), clone, context.getDiagram().getMetadata().getShapeSetId())); cloneNodeCommandCallback.ifPresent(callback -> callback.accept(clone)); }; }
private String getFileName() { final Path path = getSession().getCanvasHandler().getDiagram().getMetadata().getPath(); return null != path ? path.getFileName() : getSession().getCanvasHandler().getDiagram().getGraph().getUUID(); } }
@Override public Glyph getGlyph(final AbstractCanvasHandler canvasHandler, final String uuid) { final String ssid = canvasHandler.getDiagram().getMetadata().getShapeSetId(); final ShapeFactory shapeFactory = canvasHandler.getShapeFactory(ssid); return shapeFactory.getGlyph(getGlyphId(canvasHandler, uuid), ToolboxGlyphConsumer.class); } }
@Override public DragProxy<AbstractCanvasHandler, Item, DragProxyCallback> proxyFor(final AbstractCanvasHandler context) { this.canvasHandler = context; this.shapeViewDragProxyFactory.proxyFor(context.getAbstractCanvas()); this.graphBoundsIndexer.setRootUUID(context.getDiagram().getMetadata().getCanvasRootUUID()); return this; }
@Before public void setup() throws Exception { super.init(); when(canvasHandler.getDiagram()).thenReturn(diagram); when(metadata.getDefinitionSetId()).thenReturn(DEFINITION_SET_ID); when(preferencesRegistries.get(DEFINITION_SET_ID, StunnerPreferences.class)).thenReturn(stunnerPreferences); when(session.getCanvasHandler()).thenReturn(canvasHandler); when(session.getCanvas()).thenReturn(canvas); when(session.getZoomControl()).thenReturn(zoomControl); when(session.getSelectionControl()).thenReturn(selectionControl); this.tested = new SessionViewerImpl<>(view, canvasPanel, preferencesRegistries); }
private Element<?> getParentOfParent(AbstractCanvasHandler context, Node parent) { final Element parentOfParent = GraphUtils.getParent(parent); return (GraphUtils.isRootNode((Element<? extends View<?>>) parentOfParent, context.getGraphIndex().getGraph()) ? context.getGraphIndex().getNode(context.getDiagram().getMetadata().getCanvasRootUUID()) : parentOfParent); }
private PaletteDefinitionBuilder<H, DefaultPaletteDefinition> getPaletteDefinitionBuilder(final H canvasHandler) { final String definitionSetId = canvasHandler.getDiagram().getMetadata().getDefinitionSetId(); final Annotation qualifier = definitionUtils.getQualifier(definitionSetId); final ManagedInstance<PaletteDefinitionBuilder<H, DefaultPaletteDefinition>> custom = paletteDefinitionBuilders.select(qualifier); if (custom.isUnsatisfied()) { return paletteDefinitionBuilders.select(DefinitionManager.DEFAULT_QUALIFIER).get(); } return custom.get(); }
/** * Get the SVG node id referred to the current diagram definition set. It uses the adapters to get the id. * @param canvasHandler the current {@link CanvasHandler} * @return the optional id if set otherwise empty. */ private Optional<String> getSvgNodeId(AbstractCanvasHandler canvasHandler) { final String diagramDefinitionSetId = canvasHandler.getDiagram().getMetadata().getDefinitionSetId(); final Object diagramDefinitionSet = canvasHandler.getDefinitionManager().definitionSets().getDefinitionSetById(diagramDefinitionSetId); return canvasHandler.getDefinitionManager().adapters().forDefinitionSet().getSvgNodeId(diagramDefinitionSet); }