@Test public void selectVisibleGridHeaderNonLinkedColumn() { when(gridWidget.isVisible()).thenReturn(true); when(event.getX()).thenReturn(100); when(event.getY()).thenReturn(100); when(gridWidget.getLocation()).thenReturn(new Point2D(100, 100)); when(uiColumn.isLinked()).thenReturn(false); final BaseGridRendererHelper.ColumnInformation ci = new BaseGridRendererHelper.ColumnInformation(uiColumn, 0, 0); when(helper.getColumnInformation(any(Double.class))).thenReturn(ci); handler.onNodeMouseEvent(gridWidget, relativeLocation, Optional.of(0), Optional.of(0), Optional.empty(), Optional.empty(), event); verify(handler, times(1)).handleHeaderCell(eq(gridWidget), eq(relativeLocation), eq(0), eq(0), eq(event)); verify(selectionManager, never()).select(any(GridWidget.class)); verify(selectionManager, never()).selectLinkedColumn(eq(uiColumn)); }
when(uiColumn.isLinked()).thenReturn(true); when(uiColumn.getLink()).thenAnswer(invocation -> uiLinkedColumn);
@Test public void selectVisibleGridHeaderNonLinkedColumn() { when(gridWidget.isVisible()).thenReturn(true); when(event.getX()).thenReturn(100); when(event.getY()).thenReturn(100); when(gridWidget.getLocation()).thenReturn(new Point2D(100, 100)); when(uiColumn.isLinked()).thenReturn(false); final BaseGridRendererHelper.ColumnInformation ci = new BaseGridRendererHelper.ColumnInformation(uiColumn, 0, 0); when(helper.getColumnInformation(any(Double.class))).thenReturn(ci); handler.onNodeMouseEvent(gridWidget, relativeLocation, Optional.of(0), Optional.of(0), Optional.empty(), Optional.empty(), event); verify(handler, times(1)).handleHeaderCell(eq(gridWidget), eq(relativeLocation), eq(0), eq(0), eq(event)); verify(selectionManager, never()).select(any(GridWidget.class)); verify(selectionManager, never()).selectLinkedColumn(eq(uiColumn)); }
when(uiColumn.isLinked()).thenReturn(true); when(uiColumn.getLink()).thenAnswer(invocation -> uiLinkedColumn);
/** * Checks if the {@link AbstractNodeMouseEvent} happened on a "linked" {@link GridColumn}. If * the {@link AbstractNodeMouseEvent} was found to have happened on a {@link GridWidget} "linked" column then * selection of the "linked" {@link GridColumn} is delegated to {@link GridSelectionManager#selectLinkedColumn(GridColumn)}. */ @Override public boolean handleHeaderCell(final GridWidget gridWidget, final Point2D relativeLocation, final int uiHeaderRowIndex, final int uiHeaderColumnIndex, final AbstractNodeMouseEvent event) { final BaseGridRendererHelper rendererHelper = gridWidget.getRendererHelper(); final double cx = relativeLocation.getX(); final BaseGridRendererHelper.ColumnInformation ci = rendererHelper.getColumnInformation(cx); final GridColumn<?> column = ci.getColumn(); if (column == null) { return false; } //If linked scroll it into view if (column.isLinked()) { final GridColumn<?> link = column.getLink(); selectionManager.selectLinkedColumn(link); return true; } return false; } }
/** * Checks if the {@link AbstractNodeMouseEvent} happened on a "linked" {@link GridColumn}. If * the {@link AbstractNodeMouseEvent} was found to have happened on a {@link GridWidget} "linked" column then * selection of the "linked" {@link GridColumn} is delegated to {@link GridSelectionManager#selectLinkedColumn(GridColumn)}. */ @Override public boolean handleHeaderCell(final GridWidget gridWidget, final Point2D relativeLocation, final int uiHeaderRowIndex, final int uiHeaderColumnIndex, final AbstractNodeMouseEvent event) { final BaseGridRendererHelper rendererHelper = gridWidget.getRendererHelper(); final double cx = relativeLocation.getX(); final BaseGridRendererHelper.ColumnInformation ci = rendererHelper.getColumnInformation(cx); final GridColumn<?> column = ci.getColumn(); if (column == null) { return false; } //If linked scroll it into view if (column.isLinked()) { final GridColumn<?> link = column.getLink(); selectionManager.selectLinkedColumn(link); return true; } return false; } }
@Test public void checkRemoveAllClearsCachedReferences() { final GridWidget gridWidget1 = makeGridWidget(); final GridColumn column1 = mock(GridColumn.class); when(column1.isVisible()).thenReturn(true); gridWidget1.getModel().appendColumn(column1); final GridWidget gridWidget2 = makeGridWidget(); final GridColumn column2 = mock(GridColumn.class); when(column2.isVisible()).thenReturn(true); when(column2.isLinked()).thenReturn(true); when(column2.getLink()).thenReturn(column1); gridWidget2.getModel().appendColumn(column2); this.gridLayer.add(gridWidget1); this.gridLayer.add(gridWidget2); assertEquals(2, gridLayer.getGridWidgets().size()); assertEquals(1, gridLayer.getGridWidgetConnectors().size()); gridLayer.removeAll(); assertEquals(0, gridLayer.getGridWidgets().size()); assertEquals(0, gridLayer.getGridWidgetConnectors().size()); }
@Test public void checkRemoveAllClearsCachedReferences() { final GridWidget gridWidget1 = makeGridWidget(); final GridColumn column1 = mock(GridColumn.class); when(column1.isVisible()).thenReturn(true); gridWidget1.getModel().appendColumn(column1); final GridWidget gridWidget2 = makeGridWidget(); final GridColumn column2 = mock(GridColumn.class); when(column2.isVisible()).thenReturn(true); when(column2.isLinked()).thenReturn(true); when(column2.getLink()).thenReturn(column1); gridWidget2.getModel().appendColumn(column2); this.gridLayer.add(gridWidget1); this.gridLayer.add(gridWidget2); assertEquals(2, gridLayer.getGridWidgets().size()); assertEquals(1, gridLayer.getGridWidgetConnectors().size()); gridLayer.removeAll(); assertEquals(0, gridLayer.getGridWidgets().size()); assertEquals(0, gridLayer.getGridWidgetConnectors().size()); }
@Test public void checkConnectorsVisibilityFollowPinnedModeStatus() { final GridWidget gridWidget1 = makeGridWidget(); final GridColumn column1 = mock(GridColumn.class); when(column1.isVisible()).thenReturn(true); gridWidget1.getModel().appendColumn(column1); final GridWidget gridWidget2 = makeGridWidget(); final GridColumn column2 = mock(GridColumn.class); when(column2.isVisible()).thenReturn(true); when(column2.isLinked()).thenReturn(true); when(column2.getLink()).thenReturn(column1); gridWidget2.getModel().appendColumn(column2); this.gridLayer.add(gridWidget1); this.gridLayer.add(gridWidget2); gridLayer.refreshGridWidgetConnectors(); checkConnectorsVisibility(true); gridLayer.enterPinnedMode(gridWidget1, new GridLayerRedrawManager.PrioritizedCommand(0) { @Override public void execute() { //Do nothing } }); gridLayer.refreshGridWidgetConnectors(); checkConnectorsVisibility(false); }
@Test public void checkConnectorsVisibilityFollowPinnedModeStatus() { final GridWidget gridWidget1 = makeGridWidget(); final GridColumn column1 = mock(GridColumn.class); when(column1.isVisible()).thenReturn(true); gridWidget1.getModel().appendColumn(column1); final GridWidget gridWidget2 = makeGridWidget(); final GridColumn column2 = mock(GridColumn.class); when(column2.isVisible()).thenReturn(true); when(column2.isLinked()).thenReturn(true); when(column2.getLink()).thenReturn(column1); gridWidget2.getModel().appendColumn(column2); this.gridLayer.add(gridWidget1); this.gridLayer.add(gridWidget2); gridLayer.refreshGridWidgetConnectors(); checkConnectorsVisibility(true); gridLayer.enterPinnedMode(gridWidget1, new GridLayerRedrawManager.PrioritizedCommand(0) { @Override public void execute() { //Do nothing } }); gridLayer.refreshGridWidgetConnectors(); checkConnectorsVisibility(false); }
final double w = column.getWidth(); Rectangle header; if (column.isLinked()) { header = theme.getHeaderLinkBackground(column); } else { final double w = column.getWidth(); if (column.isLinked()) { commands.add((RenderHeaderContentCommand) (rc) -> { if (columnRenderingConstraint.apply(rc.isSelectionLayer(), column)) {
final double w = column.getWidth(); Rectangle header; if (column.isLinked()) { header = theme.getHeaderLinkBackground(column); } else { final double w = column.getWidth(); if (column.isLinked()) { commands.add((RenderHeaderContentCommand) (rc) -> { if (columnRenderingConstraint.apply(rc.isSelectionLayer(), column)) {
for (GridColumn<?> gridColumn : gridModel.getColumns()) { if (gridColumn.isVisible()) { if (gridColumn.isLinked()) { final GridWidget linkedGridWidget = getLinkedGridWidget(gridColumn.getLink()); if (linkedGridWidget != null) {
for (GridColumn<?> gridColumn : gridModel.getColumns()) { if (gridColumn.isVisible()) { if (gridColumn.isLinked()) { final GridWidget linkedGridWidget = getLinkedGridWidget(gridColumn.getLink()); if (linkedGridWidget != null) {