public Canvas setGrid(final CanvasGrid grid) { this.grid = grid; getView().setGrid(grid); return this; }
private void registerListeners() { canvas.addRegistrationListener(shapeListener); canvasHandler.addRegistrationListener(elementListener); }
@Override public void destroy() { if (null != eventHandlerManager) { eventHandlerManager.destroy(); eventHandlerManager = null; } super.destroy(); }
public AbstractCanvas<V> initialize(final CanvasPanel panel, final CanvasSettings settings) { onAfterDraw(AbstractCanvas.this::afterDrawCanvas); getView().initialize(panel, settings); return this; }
private AbstractCanvas clear(final boolean fireEvents) { clearShapes(); fireCanvasClear(); if (fireEvents) { canvasClearEvent.fire(new CanvasClearEvent(this)); } getView().clear(); return this; }
/** * Opens an item. * It initializes the canvas and the handler as provides a valid canvas view. * @param canvas The canvas instance. * @param settings The canvas settings. */ @SuppressWarnings("unchecked") protected void openCanvas(final AbstractCanvas canvas, final CanvasPanel panel, final CanvasSettings settings) { canvas.initialize(panel, settings); // Initialize the canvas handler for the canvas. getHandler().handle(canvas); enableControls(); // Use the canvas as view. getView().setWidget(canvas.getView().asWidget()); }
private Shape getShape(final String uuid) { return getCanvas().getShape(uuid); }
@Override @SuppressWarnings("unchecked") public void addChild(final Element parent, final Element child) { final Shape childShape = getCanvas().getShape(child.getUUID()); if (!isCanvasRoot(parent)) { final Shape parentShape = getCanvas().getShape(parent.getUUID()); getCanvas().addChild(parentShape, childShape); } else { // -- Special case when parent is the canvas root -- // Ensure the shape is added into the layer, but no need to register it again and generate new // handlers ( f.i. using canvas#addShape() method ). getCanvas().addChild(childShape); } }
@Override @SuppressWarnings("unchecked") public void undock(final Element target, final Element child) { final String targetUUID = target.getUUID(); final String childUUID = child.getUUID(); if (!isCanvasRoot(targetUUID)) { final Shape targetShape = getCanvas().getShape(targetUUID); final Shape childShape = getCanvas().getShape(childUUID); if (Objects.nonNull(targetShape) && Objects.nonNull(childShape)) { getCanvas().undock(targetShape, childShape); } } }
@Override @SuppressWarnings("unchecked") public void removeChild(final Element parent, final Element child) { final String parentUUID = parent.getUUID(); final String childUUID = child.getUUID(); final Shape childShape = getCanvas().getShape(childUUID); if (Objects.isNull(childShape)) { return; } if (!isCanvasRoot(parentUUID)) { final Shape parentShape = getCanvas().getShape(parentUUID); if (Objects.isNull(parentShape)) { return; } getCanvas().deleteChild(parentShape, childShape); } else { // -- Special case when parent is the canvas root -- // Ensure the shape is removed from the layer, but no need to deregister any // handlers ( f.i. using canvas#removeShape() method ). getCanvas().deleteChild(childShape); } }
@Override public boolean dock(final Element parent, final Element child) { if (!isCanvasRoot(parent)) { final Shape parentShape = getCanvas().getShape(parent.getUUID()); final Shape childShape = getCanvas().getShape(child.getUUID()); try { getCanvas().dock(parentShape, childShape); return true; } catch (Exception e) { LOGGER.fine("Error docking node " + child.getUUID()); return false; } } return false; }
@SuppressWarnings("unchecked") private void updateViewShapesState(Collection<String> uuids) { uuids.stream() .map(uuid -> getCanvas().getShape(uuid)) .filter(Objects::nonNull) .forEach(shape -> { final boolean isSelected = isSelected(shape.getUUID()); if (isSelected && isReadonly()) { shape.applyState(ShapeState.HIGHLIGHT); } else if (isSelected) { shape.applyState(ShapeState.SELECTED); } else { shape.applyState(ShapeState.NONE); } }); getCanvas().focus(); }
@Override public Canvas addShape(final Shape shape) { shapes.computeIfAbsent(shape.getUUID(), (v) -> { addShapeIntoView(shape); fireCanvasShapeAdded(shape); canvasShapeAddedEvent.fire(new CanvasShapeAddedEvent(this, shape)); return shape; }); return this; }
AbstractCanvas<V> initialize(final CanvasPanel panel, final CanvasSettings settings, final ViewEventHandlerManager viewEventHandlerManager) { LienzoCore.get().setHidpiEnabled(settings.isHiDPIEnabled()); this.eventHandlerManager = viewEventHandlerManager; return super.initialize(panel, settings); }
public void addShape(final Shape shape) { getCanvas().addShape(shape); }
@Override protected void doInit() { // Click handler for the canvas area - cleans current selection, if any. final MouseClickHandler clickHandler = new MouseClickHandler() { @Override public void handle(final MouseClickEvent event) { if (event.isButtonLeft() || event.isButtonRight()) { clearSelection(false); final String canvasRootUUID = getRootUUID(); fireCanvasClear(); if (null != canvasRootUUID) { selectionEventConsumer.accept(new CanvasSelectionEvent(canvasHandler, canvasRootUUID)); } } } }; getCanvas().addHandler(ViewEventType.MOUSE_CLICK, clickHandler); this.layerClickHandler = clickHandler; }
canvas.addShapeIntoView(this.transientEdgeShape); this.transientEdgeShape.applyProperties(inEdge, MutationContext.STATIC);
protected void deregister(final String uuid) { final Shape shape = getSelectionControl().getCanvas().getShape(uuid); final ViewHandler<?> handler = handlers.get(uuid); doDeregisterHandler(shape, handler); }
@Override public Transform getTransform() { return getView().getTransform(); }