private void onPaletteItemMouseDown(final String id, final double x, final double y) { // Show the drag proxy for the element at x, y. view.showDragProxy(id, x, y, getIconSize(), getIconSize()); }
@Override public Glyph getShapeGlyph(final String definitionId) { return getShapeFactory().getGlyph(definitionId, AbstractPalette.PaletteGlyphConsumer.class); }
BS3PaletteWidgetPresenter widget; if (item instanceof DefaultPaletteCategory) { DefinitionPaletteCategoryWidget categoryWidget = newDefinitionPaletteCategoryWidget(); categoryWidget.setOnOpenCallback(category -> onOpenCategory(category.getId())); categoryWidget.setOnCloseCallback(category -> onCloseCategory(category.getId())); categoryWidget.setAutoHidePanel(autoHidePanel); categoryWidgets.put(item.getId(), widget = categoryWidget; } else if (item instanceof CollapsedDefaultPaletteItem) { widget = newCollapsedDefinitionPaletteItemWidget(); } else { widget = newDefinitionPaletteItemWidget(); event -> handleMouseDownEvent(item, event); widget.initialize(item, getShapeFactory(), itemMouseEventHandler); view.add(widget);
@Override protected DefinitionPaletteItemWidget newDefinitionPaletteItemWidget() { DefinitionPaletteItemWidget itemWidget = mock(DefinitionPaletteItemWidget.class); createdItemWidgets.add(itemWidget); when(definitionPaletteItemWidgets.get()).thenReturn(itemWidget); return super.newDefinitionPaletteItemWidget(); }
@Override protected DefinitionPaletteCategoryWidget newDefinitionPaletteCategoryWidget() { DefinitionPaletteCategoryWidget categoryWidget = mock(DefinitionPaletteCategoryWidget.class); createdCategoryWidgets.add(categoryWidget); when(categoryWidgetInstance.get()).thenReturn(categoryWidget); return super.newDefinitionPaletteCategoryWidget(); }
@Override protected CollapsedDefinitionPaletteItemWidget newCollapsedDefinitionPaletteItemWidget() { CollapsedDefinitionPaletteItemWidget itemWidget = mock(CollapsedDefinitionPaletteItemWidget.class); createdCollapsedItemWidgets.add(itemWidget); when(collapsedDefinitionPaletteItemWidgets.get()).thenReturn(itemWidget); return super.newCollapsedDefinitionPaletteItemWidget(); } };
private void handleMouseDownEvent(final DefaultPaletteItem item, final PaletteItemMouseEvent event) { PortablePreconditions.checkNotNull("event", event); if (event.getId().equals(item.getId())) { final String catDefId = item.getDefinitionId(); BS3PaletteWidgetImpl.this.onPaletteItemMouseDown(catDefId, event.getMouseX(), event.getMouseY()); } else { final String defId = getItemDefinitionId(event.getId()); BS3PaletteWidgetImpl.this.onPaletteItemMouseDown(defId, event.getMouseX(), event.getMouseY()); } }
@Test public void testGetGlyph() { when(paletteDefinition.getDefinitionSetId()).thenReturn(DEFINITION_SET_ID); palette.bind(paletteDefinition); palette.getShapeGlyph(DEFINITION_ID); verify(shapeFactory).getGlyph(eq(DEFINITION_ID), eq(AbstractPalette.PaletteGlyphConsumer.class)); }
@Test public void testGetShapeDragProxyGlyph() { when(paletteDefinition.getDefinitionSetId()).thenReturn(DEFINITION_SET_ID); palette.bind(paletteDefinition); palette.getShapeDragProxyGlyph(DEFINITION_ID); verify(shapeFactory).getGlyph(eq(DEFINITION_ID), eq(AbstractPalette.PaletteDragProxyGlyphConsumer.class)); }
@Test public void testSetPreferences() { when(paletteDefinition.getDefinitionSetId()).thenReturn(DEFINITION_SET_ID); List<DefaultPaletteItem> items = new ArrayList<>(); items.addAll(mockCategoryItems(CATEGORY_ITEMS_COUNT)); items.addAll(mockSimpleItems(SIMPLE_ITEMS_COUNT)); items.addAll(mockCollapsedItems(COLLAPSED_ITEMS_COUNT)); when(paletteDefinition.getItems()).thenReturn(items); when(diagramEditorPreferences.isAutoHidePalettePanel()).thenReturn(true); palette.bind(paletteDefinition); createdCategoryWidgets.forEach(categoryWidget -> verify(categoryWidget, times(1)).setAutoHidePanel(eq(true))); }
@Test public void checkDestructionReleasesResources() { palette.doDestroy(); verify(categoryWidgetInstance).destroyAll(); verify(definitionPaletteItemWidgets).destroyAll(); verify(collapsedDefinitionPaletteItemWidgets).destroyAll(); verify(view).destroy(); }
when(paletteDefinition.getItems()).thenReturn(items); palette.bind(paletteDefinition);
@Override public Glyph getShapeDragProxyGlyph(final String definitionId) { return getShapeFactory().getGlyph(definitionId, AbstractPalette.PaletteDragProxyGlyphConsumer.class); }
@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)); } }
@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 @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)); } }