@Override public void initialiseUiColumns() { final NameColumn nameColumn = new NameColumn(this); final ExpressionEditorColumn expressionColumn = new ExpressionEditorColumn(gridLayer, Collections.emptyList(), this); model.appendColumn(new ContextGridRowNumberColumn(Collections.emptyList())); model.appendColumn(nameColumn); model.appendColumn(expressionColumn); getRenderer().setColumnRenderConstraint((isSelectionLayer, gridColumn) -> !isSelectionLayer || gridColumn.equals(expressionColumn)); }
@Override public void initialiseUiColumns() { expression.ifPresent(e -> { model.appendColumn(new RowNumberColumn()); e.getColumn().forEach(ii -> { final GridColumn relationColumn = makeRelationColumn(ii); model.appendColumn(relationColumn); }); }); getRenderer().setColumnRenderConstraint((isSelectionLayer, gridColumn) -> true); }
@Override protected void initialiseUiColumns() { final DMNGridColumn undefinedExpressionColumn = new UndefinedExpressionColumn(this, cellEditorControls, undefinedExpressionSelector, translationService); undefinedExpressionColumn.setMovable(false); undefinedExpressionColumn.setResizable(false); model.appendColumn(undefinedExpressionColumn); }
@Test public void testEditWhenNoCellSelected() { final GridColumn.HeaderMetaData headerMetaData = mock(GridColumn.HeaderMetaData.class); final GridColumn<?> gridColumn = mockGridColumn(100.0, Arrays.asList(headerMetaData)); gridWidget.getModel().appendColumn(gridColumn); CellContextUtilities.editSelectedCell(gridWidget); verify(headerMetaData, never()).edit(any(GridBodyCellEditContext.class)); verify(gridWidget, never()).startEditingCell(anyInt(), anyInt()); verify(gridWidget, never()).startEditingCell(any(Point2D.class)); }
@Test public void testEditWhenNoCellSelected() { final GridColumn.HeaderMetaData headerMetaData = mock(GridColumn.HeaderMetaData.class); final GridColumn<?> gridColumn = mockGridColumn(100.0, Arrays.asList(headerMetaData)); gridWidget.getModel().appendColumn(gridColumn); CellContextUtilities.editSelectedCell(gridWidget); verify(headerMetaData, never()).edit(any(GridBodyCellEditContext.class)); verify(gridWidget, never()).startEditingCell(anyInt(), anyInt()); verify(gridWidget, never()).startEditingCell(any(Point2D.class)); }
@Test public void testDestroyResourcesOnKeyDown() { when(layer.getGridWidgets()).thenReturn(gridWidgets); when(gridWidget1.isSelected()).thenReturn(true); when(event.getNativeKeyCode()).thenReturn(KeyCodes.KEY_RIGHT); final StringDOMElementColumn columnWithAdditionalDomElements = mock(StringDOMElementColumn.class); gridWidget1Data.appendColumn(columnWithAdditionalDomElements); handler.onKeyDown(event); verify(columnWithAdditionalDomElements).destroyResources(); }
@Test public void testDestroyResourcesAndFlushOnKeyDown() { when(layer.getGridWidgets()).thenReturn(gridWidgets); when(gridWidget1.isSelected()).thenReturn(true); when(event.getNativeKeyCode()).thenReturn(KeyCodes.KEY_RIGHT); final StringDOMElementSingletonColumn columnWithAdditionalDomElements = mock(StringDOMElementSingletonColumn.class); gridWidget1Data.appendColumn(columnWithAdditionalDomElements); handler.onKeyDown(event); verify(columnWithAdditionalDomElements).flush(); verify(columnWithAdditionalDomElements).destroyResources(); }
@Test public void testDestroyResourcesAndFlushOnKeyDown() { when(layer.getGridWidgets()).thenReturn(gridWidgets); when(gridWidget1.isSelected()).thenReturn(true); when(event.getNativeKeyCode()).thenReturn(KeyCodes.KEY_RIGHT); final StringDOMElementSingletonColumn columnWithAdditionalDomElements = mock(StringDOMElementSingletonColumn.class); gridWidget1Data.appendColumn(columnWithAdditionalDomElements); handler.onKeyDown(event); verify(columnWithAdditionalDomElements).flush(); verify(columnWithAdditionalDomElements).destroyResources(); }
@Test public void testDestroyResourcesOnKeyDown() { when(layer.getGridWidgets()).thenReturn(gridWidgets); when(gridWidget1.isSelected()).thenReturn(true); when(event.getNativeKeyCode()).thenReturn(KeyCodes.KEY_RIGHT); final StringDOMElementColumn columnWithAdditionalDomElements = mock(StringDOMElementColumn.class); gridWidget1Data.appendColumn(columnWithAdditionalDomElements); handler.onKeyDown(event); verify(columnWithAdditionalDomElements).destroyResources(); }
@Test public void testSelectCellAppendColumnWithRowSelected() { doTestSelectCellWithRowSelected((data) -> data.appendColumn(new MockMergableGridColumn<String>("col1", 100))); }
@Test public void testSelectCellAppendColumnWithRowSelected() { doTestSelectCellWithRowSelected((data) -> data.appendColumn(new MockMergableGridColumn<String>("col1", 100))); }
@Test @SuppressWarnings("unchecked") public void testGetUiColumnIndexInHeaderAfterLastColumn() throws Exception { gridData.appendColumn(new BaseGridColumn<>(new BaseHeaderMetaData("first"), gridColumnRenderer, COLUMN_WIDTH)); gridData.appendColumn(new BaseGridColumn<>(new BaseHeaderMetaData("second"), gridColumnRenderer, COLUMN_WIDTH)); gridData.appendColumn(new BaseGridColumn<>(new BaseHeaderMetaData("third"), gridColumnRenderer, COLUMN_WIDTH)); setupGridWidget(); doReturn(gridSelectionManager).when(view).getLayer(); final Integer columnIndex = CoordinateUtilities.getUiColumnIndex(view, (COLUMN_WIDTH * 3) + 1); Assertions.assertThat(columnIndex).isNull(); }
@Test @SuppressWarnings("unchecked") public void testGetUiColumnIndexInHeaderAfterLastColumn() throws Exception { gridData.appendColumn(new BaseGridColumn<>(new BaseHeaderMetaData("first"), gridColumnRenderer, COLUMN_WIDTH)); gridData.appendColumn(new BaseGridColumn<>(new BaseHeaderMetaData("second"), gridColumnRenderer, COLUMN_WIDTH)); gridData.appendColumn(new BaseGridColumn<>(new BaseHeaderMetaData("third"), gridColumnRenderer, COLUMN_WIDTH)); setupGridWidget(); doReturn(gridSelectionManager).when(view).getLayer(); final Integer columnIndex = CoordinateUtilities.getUiColumnIndex(view, (COLUMN_WIDTH * 3) + 1); Assertions.assertThat(columnIndex).isNull(); }
@Test public void testEditWhenDataCellSelectedSecondRow() { final GridColumn.HeaderMetaData headerMetaData = mock(GridColumn.HeaderMetaData.class); final GridColumn<?> gridColumn = mockGridColumn(100.0, Arrays.asList(headerMetaData)); doReturn(0).when(gridColumn).getIndex(); gridWidget.getModel().appendColumn(gridColumn); gridWidget.getModel().appendRow(new BaseGridRow()); gridWidget.getModel().appendRow(new BaseGridRow()); gridWidget.getModel().selectCell(1, 0); CellContextUtilities.editSelectedCell(gridWidget); verify(headerMetaData, never()).edit(any(GridBodyCellEditContext.class)); verify(gridWidget).startEditingCell(1, 0); }
@Test @SuppressWarnings("unchecked") public void testGetUiHeaderRowIndexHeaderMinY() { point = new Point2D(COLUMN_WIDTH / 2, -5.0); setupGridWidget(); final GridColumn uiColumn = new BaseGridColumn<>(new BaseHeaderMetaData("first"), gridColumnRenderer, COLUMN_WIDTH); gridData.appendColumn(uiColumn); doReturn(uiColumn).when(ci).getColumn(); final Integer uiHeaderRowIndex = CoordinateUtilities.getUiHeaderRowIndex(view, point); assertNull(uiHeaderRowIndex); }
@Test @SuppressWarnings("unchecked") public void testGetUiHeaderRowIndexHeaderMinY() { point = new Point2D(COLUMN_WIDTH / 2, -5.0); setupGridWidget(); final GridColumn uiColumn = new BaseGridColumn<>(new BaseHeaderMetaData("first"), gridColumnRenderer, COLUMN_WIDTH); gridData.appendColumn(uiColumn); doReturn(uiColumn).when(ci).getColumn(); final Integer uiHeaderRowIndex = CoordinateUtilities.getUiHeaderRowIndex(view, point); assertNull(uiHeaderRowIndex); }
@Test @SuppressWarnings("unchecked") public void testGetUiHeaderRowIndexHeaderMaxY() { point = new Point2D(COLUMN_WIDTH / 2, gridRenderer.getHeaderHeight() + 5.0); setupGridWidget(); final GridColumn uiColumn = new BaseGridColumn<>(new BaseHeaderMetaData("first"), gridColumnRenderer, COLUMN_WIDTH); gridData.appendColumn(uiColumn); doReturn(uiColumn).when(ci).getColumn(); final Integer uiHeaderRowIndex = CoordinateUtilities.getUiHeaderRowIndex(view, point); assertNull(uiHeaderRowIndex); }
@Test @SuppressWarnings("unchecked") public void testGetUiHeaderRowIndexHeaderMaxY() { point = new Point2D(COLUMN_WIDTH / 2, gridRenderer.getHeaderHeight() + 5.0); setupGridWidget(); final GridColumn uiColumn = new BaseGridColumn<>(new BaseHeaderMetaData("first"), gridColumnRenderer, COLUMN_WIDTH); gridData.appendColumn(uiColumn); doReturn(uiColumn).when(ci).getColumn(); final Integer uiHeaderRowIndex = CoordinateUtilities.getUiHeaderRowIndex(view, point); assertNull(uiHeaderRowIndex); }
@Test public void checkSelectedCellsWithHiddenColumnMultipleColumns() { final GridColumn<String> column2 = makeGridColumn(200.0); this.model.appendColumn(column2); setupSelectionContext(); checkRenderedSelectedCells(0, 0, 2, 1, 0, 0, column.getWidth() + column2.getWidth()); }
@Test public void checkSelectedCellsWithHiddenColumnMultipleColumns() { final GridColumn<String> column2 = makeGridColumn(200.0); this.model.appendColumn(column2); setupSelectionContext(); checkRenderedSelectedCells(0, 0, 2, 1, 0, 0, column.getWidth() + column2.getWidth()); }