private DefaultPaletteWidget getPaletteWidget(final H canvasHandler) { final DefaultPaletteWidget palette = palettes.get(); palette.onItemDrop(event -> buildCanvasShapeEvent.fire(new BuildCanvasShapeEvent(canvasHandler, event.getDefinition(), event.getFactory(), event.getX(), event.getY()))); palette.onItemDragStart(event -> canvasShapeDragStartEvent.fire(new CanvasShapeDragStartEvent(canvasHandler, event.getDefinition(), event.getFactory(), event.getX(), event.getY()))); palette.onItemDragUpdate(event -> canvasShapeDragUpdateEvent.fire(new CanvasShapeDragUpdateEvent(canvasHandler, event.getDefinition(), event.getFactory(), event.getX(), event.getY()))); return palette; } }
@SuppressWarnings("unchecked") public void onDragStart(final String definitionId, final double x, final double y) { if (null != itemDragStartCallback) { final Object definition = clientFactoryServices.getClientFactoryManager().newDefinition(definitionId); final ShapeFactory<?, ? extends Shape> factory = getShapeFactory(); // Fire the callback as shape drag starts. itemDragStartCallback.accept(new PaletteIDefinitionItemEvent(definitionId, definition, factory, x, y)); } }
@Override public void onDragProxyMove(String definitionId, double x, double y) { if (null != itemDragUpdateCallback) { final Object definition = clientFactoryServices.getClientFactoryManager().newDefinition(definitionId); final ShapeFactory<?, ? extends Shape> factory = getShapeFactory(); // Fire the callback as shape dragged over the target canvas. itemDragUpdateCallback.accept(new PaletteIDefinitionItemEvent(definitionId, definition, factory, x, y)); } }
@Override @SuppressWarnings("unchecked") public void onDragProxyComplete(final String definitionId, final double x, final double y) { if (null != itemDropCallback) { final Object definition = clientFactoryServices.getClientFactoryManager().newDefinition(definitionId); final ShapeFactory<?, ? extends Shape> factory = getShapeFactory(); // Fire the callback as shape dropped onto the target canvas. itemDropCallback.accept(new PaletteIDefinitionItemEvent(definitionId, definition, factory, x, y)); } }