private DOMGlyphRenderer getRenderer(final Class<?> type) { return GlyphRenderer.getRenderer(renderers::spliterator, type); }
@Override @SuppressWarnings("unchecked") public IsElement render(Glyph glyph, double width, double height) { return (IsElement) getRenderer(glyph.getClass()) .render(glyph, width, height); }
@Inject public ShapeGlyphDragHandlerImpl(final LienzoGlyphRenderers glyphLienzoGlyphRenderer) { this(glyphLienzoGlyphRenderer, new ArrayList<>(), RootPanel::get, item -> new LienzoPanelImpl(item.getWidth() * 2, item.getHeight() * 2), (task, millis) -> new Timer() { @Override public void run() { task.execute(); } }.schedule(millis)); }
@Override public DragProxy<AbstractCanvas, Item, DragProxyCallback> show(final Item item, final int x, final int y, final DragProxyCallback dragProxyCallback) { // Create the lienzo "proxy" panel instance. final Layer dragProxyLayer = new Layer(); this.dragProxyPanel = lienzoPanelBuilder.apply(item); dragProxyPanel.add(dragProxyLayer); attachHandlers(dragProxyCallback); // Add the glyph instance into the layer. dragProxyLayer.add(glyphLienzoGlyphRenderer .render(item.getShape(), item.getWidth(), item.getHeight()) .setX(0) .setY(0)); // Handle the proxy panel instance. moveProxyTo(x, y); rootPanelSupplier.get().add(dragProxyPanel); return this; }
double height) { final Glyph glyph = presenter.getShapeDragProxyGlyph(itemId); itemDragProxy = shapeGlyphDragHandler.show(new ShapeGlyphDragHandler.Item() { @Override public Glyph getShape() {
@Override public void destroy() { DOMUtil.removeAllChildren(ul); DOMUtil.removeAllChildren(palette); if (Objects.nonNull(itemDragProxy)) { itemDragProxy.destroy(); itemDragProxy = null; } if (Objects.nonNull(shapeGlyphDragHandler)) { shapeGlyphDragHandler.destroy(); shapeGlyphDragHandler = null; } presenter = null; }
private LienzoGlyphRenderer getRenderer(final Class<?> type) { return GlyphRenderer.getRenderer(renderers::spliterator, type); }
@Override protected void doDestroy() { shapeGlyphDragHandler.destroy(); view.destroy(); categoryWidgetInstances.destroyAll(); definitionPaletteItemWidgetInstances.destroyAll(); collapsedDefinitionPaletteItemWidgets.destroyAll(); itemDragStartCallback = null; itemDragUpdateCallback = null; itemDropCallback = null; closeCallback = null; paletteDefinition = null; }