@Override public Layer batch() { return batch(REDRAW); }
@Override public Layer batch() { return batch(REDRAW); }
@Override public void select(final GridWidget selectedGridWidget) { boolean selectionChanged = false; for (GridWidget gridWidget : getGridWidgets()) { if (gridWidget.isSelected()) { if (!gridWidget.equals(selectedGridWidget)) { selectionChanged = true; gridWidget.deselect(); } } else if (gridWidget.equals(selectedGridWidget)) { selectionChanged = true; gridWidget.select(); } } if (selectionChanged) { batch(); } }
@Override public void select(final GridWidget selectedGridWidget) { boolean selectionChanged = false; for (GridWidget gridWidget : getGridWidgets()) { if (gridWidget.isSelected()) { if (!gridWidget.equals(selectedGridWidget)) { selectionChanged = true; gridWidget.deselect(); } } else if (gridWidget.equals(selectedGridWidget)) { selectionChanged = true; gridWidget.select(); } } if (selectionChanged) { batch(); } }
@Test public void checkFlipToGridWidgetWhenNotPinned() { final GridWidget gridWidget = makeGridWidget(); this.gridLayer.add(gridWidget); gridLayer.flipToGridWidget(gridWidget); verify(gridLayer, never()).updatePinnedContext(eq(gridWidget)); verify(gridLayer, never()).batch(any(GridLayerRedrawManager.PrioritizedCommand.class)); }
@Test public void checkFlipToGridWidgetWhenNotPinned() { final GridWidget gridWidget = makeGridWidget(); this.gridLayer.add(gridWidget); gridLayer.flipToGridWidget(gridWidget); verify(gridLayer, never()).updatePinnedContext(eq(gridWidget)); verify(gridLayer, never()).batch(any(GridLayerRedrawManager.PrioritizedCommand.class)); }
@Override public void addDecisionTable(final GuidedDecisionTableView gridWidget) { //Ensure the first Decision Table is visible if (gridLayer.getGridWidgets().isEmpty()) { final Point2D translation = getTranslation(gridWidget); final Transform t = gridLayer.getViewport().getTransform(); t.translate(translation.getX(), translation.getY()); } gridLayer.add(gridWidget); gridLayer.batch(); }
@Override public void addDecisionTable(final GuidedDecisionTableView gridWidget) { //Ensure the first Decision Table is visible if (gridLayer.getGridWidgets().isEmpty()) { final Point2D translation = getTranslation(gridWidget); final Transform t = gridLayer.getViewport().getTransform(); t.translate(translation.getX(), translation.getY()); } gridLayer.add(gridWidget); gridLayer.batch(); }
@Test public void testRemoveDecisionTableWhenPinned() { final Command callback = mock(Command.class); final GridPinnedModeManager.PinnedContext context = mock(GridPinnedModeManager.PinnedContext.class); when(defaultGridLayer.isGridPinned()).thenReturn(true); when(defaultGridLayer.getPinnedContext()).thenReturn(context); when(context.getGridWidget()).thenReturn(dtableView); view.removeDecisionTable(dtableView, callback); verify(defaultGridLayer, times(1)).exitPinnedMode(commandArgumentCaptor.capture()); final Command command = commandArgumentCaptor.getValue(); assertNotNull(command); command.execute(); verify(defaultGridLayer, times(1)).remove(dtableView); verify(callback, times(1)).execute(); verify(defaultGridLayer, times(1)).batch(); }
@Test public void checkHeaderSelectionDelegation() { when(gridWidget.selectHeaderCell(eq(relativeLocation), anyBoolean(), anyBoolean())).thenReturn(true); when(gridWidget.isSelected()).thenReturn(false); when(gridWidget.isVisible()).thenReturn(true); when(event.getX()).thenReturn(100); when(event.getY()).thenReturn(200); handler.onNodeMouseEvent(gridWidget, relativeLocation, Optional.of(0), Optional.of(1), Optional.empty(), Optional.empty(), event); verify(handler, times(1)).handleHeaderCell(eq(gridWidget), eq(relativeLocation), eq(0), eq(1), eq(event)); verify(gridWidget, times(1)).selectHeaderCell(eq(relativeLocation), eq(false), eq(false)); verify(layer).batch(); verify(selectionManager).select(eq(gridWidget)); }
protected void propagateNewPanelSize(int visibleWidth, int visibleHeight) { if (getDefaultGridLayer() == null) { return; } // propagate to all widgets the new visible width and refresh the layer if needed boolean toRefresh = false; for (GridWidget gridWidget : getDefaultGridLayer().getGridWidgets()) { toRefresh = toRefresh || gridWidget.getModel().setVisibleSizeAndRefresh(visibleWidth, visibleHeight); } if (toRefresh) { this.getDefaultGridLayer().batch(); } }
@Test public void checkHeaderSelectionDelegation() { when(gridWidget.selectHeaderCell(eq(relativeLocation), anyBoolean(), anyBoolean())).thenReturn(true); when(gridWidget.isSelected()).thenReturn(false); when(gridWidget.isVisible()).thenReturn(true); when(event.getX()).thenReturn(100); when(event.getY()).thenReturn(200); handler.onNodeMouseEvent(gridWidget, relativeLocation, Optional.of(0), Optional.of(1), Optional.empty(), Optional.empty(), event); verify(handler, times(1)).handleHeaderCell(eq(gridWidget), eq(relativeLocation), eq(0), eq(1), eq(event)); verify(gridWidget, times(1)).selectHeaderCell(eq(relativeLocation), eq(false), eq(false)); verify(layer).batch(); verify(selectionManager).select(eq(gridWidget)); }
@Test public void checkFlipToGridWidgetWhenPinned() { final GridWidget gridWidget = makeGridWidget(); this.gridLayer.add(gridWidget); gridLayer.enterPinnedMode(gridWidget, new GridLayerRedrawManager.PrioritizedCommand(0) { @Override public void execute() { } }); gridLayer.flipToGridWidget(gridWidget); verify(gridLayer, times(1)).updatePinnedContext(eq(gridWidget)); verify(gridLayer, times(1)).batch(any(GridLayerRedrawManager.PrioritizedCommand.class)); }
protected void propagateNewPanelSize(int visibleWidth, int visibleHeight) { if (getDefaultGridLayer() == null) { return; } // propagate to all widgets the new visible width and refresh the layer if needed boolean toRefresh = false; for (GridWidget gridWidget : getDefaultGridLayer().getGridWidgets()) { toRefresh = toRefresh || gridWidget.getModel().setVisibleSizeAndRefresh(visibleWidth, visibleHeight); } if (toRefresh) { this.getDefaultGridLayer().batch(); } }
@Override public void removeDecisionTable(final GuidedDecisionTableView gridWidget, final Command afterRemovalCommand) { if (gridWidget == null) { return; } final Command remove = () -> { gridLayer.remove(gridWidget); afterRemovalCommand.execute(); gridLayer.batch(); }; if (gridLayer.isGridPinned()) { final GridPinnedModeManager.PinnedContext context = gridLayer.getPinnedContext(); if (gridWidget.equals(context.getGridWidget())) { gridLayer.exitPinnedMode(remove); } } else { remove.execute(); } }
@Override public void removeDecisionTable(final GuidedDecisionTableView gridWidget, final Command afterRemovalCommand) { if (gridWidget == null) { return; } final Command remove = () -> { gridLayer.remove(gridWidget); afterRemovalCommand.execute(); gridLayer.batch(); }; if (gridLayer.isGridPinned()) { final GridPinnedModeManager.PinnedContext context = gridLayer.getPinnedContext(); if (gridWidget.equals(context.getGridWidget())) { gridLayer.exitPinnedMode(remove); } } else { remove.execute(); } }
@Test public void checkFlipToGridWidgetWhenPinned() { final GridWidget gridWidget = makeGridWidget(); this.gridLayer.add(gridWidget); gridLayer.enterPinnedMode(gridWidget, new GridLayerRedrawManager.PrioritizedCommand(0) { @Override public void execute() { } }); gridLayer.flipToGridWidget(gridWidget); verify(gridLayer, times(1)).updatePinnedContext(eq(gridWidget)); verify(gridLayer, times(1)).batch(any(GridLayerRedrawManager.PrioritizedCommand.class)); }
@Override public void flipToGridWidget(final GridWidget gridWidget) { if (!isGridPinned()) { return; } for (GridWidget gw : explicitGridWidgets) { gw.setAlpha(gw.equals(gridWidget) ? 1.0 : 0.0); gw.setVisible(gw.equals(gridWidget)); } final Point2D translation = new Point2D(gridWidget.getX(), gridWidget.getY()).mul(-1.0); final Viewport vp = gridWidget.getViewport(); final Transform transform = vp.getTransform(); transform.reset(); transform.translate(translation.getX(), translation.getY()); updatePinnedContext(gridWidget); batch(new GridLayerRedrawManager.PrioritizedCommand(0) { @Override public void execute() { select(gridWidget); } }); }
void updateGridLienzoTransform(final Double currentXPosition, final Double currentYPosition) { final Transform oldTransform = getViewport().getTransform(); final Double dx = currentXPosition - (oldTransform.getTranslateX() / oldTransform.getScaleX()); final Double dy = currentYPosition - (oldTransform.getTranslateY() / oldTransform.getScaleY()); final Transform newTransform = oldTransform.copy().translate(dx, dy); getViewport().setTransform(newTransform); getDefaultGridLayer().batch(); }
void updateGridLienzoTransform(final Double currentXPosition, final Double currentYPosition) { final Transform oldTransform = getViewport().getTransform(); final Double dx = currentXPosition - (oldTransform.getTranslateX() / oldTransform.getScaleX()); final Double dy = currentYPosition - (oldTransform.getTranslateY() / oldTransform.getScaleY()); final Transform newTransform = oldTransform.copy().translate(dx, dy); getViewport().setTransform(newTransform); getDefaultGridLayer().batch(); }