any(Integer.class))).thenReturn(uiCell); when(columnInformation.getColumn()).thenReturn(uiColumn);
when(uiColumn.getLink()).thenAnswer(invocation -> uiLinkedColumn); final BaseGridRendererHelper.ColumnInformation ci = new BaseGridRendererHelper.ColumnInformation(uiColumn, 0, 0);
@Test public void testMakeRenderContextTailBlockWithExtraTailNonBlockColumn() { final List<GridColumn<?>> allColumns = new ArrayList<>(); final GridColumn<?> uiColumn1 = mockGridColumn(25.0); final GridColumn<?> uiColumn2 = mockGridColumn(50.0, uiColumn1.getHeaderMetaData()); final GridColumn<?> uiColumn3 = mockGridColumn(100.0); allColumns.add(uiColumn1); allColumns.add(uiColumn2); allColumns.add(uiColumn3); doReturn(allColumns).when(ri).getAllColumns(); doReturn(uiColumn1).when(ci).getColumn(); doReturn(0.0).when(ci).getOffsetX(); doReturn(0).when(ci).getUiColumnIndex(); final GridBodyCellRenderContext context = CellContextUtilities.makeRenderContext(gridWidget, ri, ci, rp, 0); assertNotNull(context); assertEquals(0.0, context.getAbsoluteCellX(), 0.0); assertEquals(75.0, context.getCellWidth(), 0.0); }
return new ColumnInformation(); return new ColumnInformation(column, columns.indexOf(column), offsetX); return new ColumnInformation(); return new ColumnInformation(column, columns.indexOf(column), offsetX);
final Point2D rp, final int uiHeaderRowIndex) { final GridColumn<?> column = ci.getColumn(); final GridRenderer renderer = gridWidget.getRenderer(); final double headerRowHeight = ri.getHeaderRowsHeight() / column.getHeaderMetaData().size(); final double cellX = gridWidget.getAbsoluteX() + ci.getOffsetX(); final double cellY = gridWidget.getAbsoluteY() + headerMinY + (headerRowHeight * uiHeaderRowIndex); if (ci.getUiColumnIndex() > 0) { int uiLeadColumnIndex = ci.getUiColumnIndex() - 1; GridColumn<?> lead = gridColumns.get(uiLeadColumnIndex); while (uiLeadColumnIndex >= 0 && isSameHeaderMetaData(clicked, if (ci.getUiColumnIndex() < gridColumns.size() - 1) { int uiTailColumnIndex = ci.getUiColumnIndex() + 1; GridColumn<?> tail = gridColumns.get(uiTailColumnIndex); while (uiTailColumnIndex < gridColumns.size() && isSameHeaderMetaData(clicked, clipMinX, uiHeaderRowIndex, ci.getUiColumnIndex(), floatingBlockInformation.getColumns().contains(column), gridWidget.getViewport().getTransform(),
return new ColumnInformation(); return new ColumnInformation(column, columns.indexOf(column), offsetX); return new ColumnInformation(); return new ColumnInformation(column, columns.indexOf(column), offsetX);
final Point2D rp, final int uiHeaderRowIndex) { final GridColumn<?> column = ci.getColumn(); final GridRenderer renderer = gridWidget.getRenderer(); final double headerRowHeight = ri.getHeaderRowsHeight() / column.getHeaderMetaData().size(); final double cellX = gridWidget.getAbsoluteX() + ci.getOffsetX(); final double cellY = gridWidget.getAbsoluteY() + headerMinY + (headerRowHeight * uiHeaderRowIndex); if (ci.getUiColumnIndex() > 0) { int uiLeadColumnIndex = ci.getUiColumnIndex() - 1; GridColumn<?> lead = gridColumns.get(uiLeadColumnIndex); while (uiLeadColumnIndex >= 0 && isSameHeaderMetaData(clicked, if (ci.getUiColumnIndex() < gridColumns.size() - 1) { int uiTailColumnIndex = ci.getUiColumnIndex() + 1; GridColumn<?> tail = gridColumns.get(uiTailColumnIndex); while (uiTailColumnIndex < gridColumns.size() && isSameHeaderMetaData(clicked, clipMinX, uiHeaderRowIndex, ci.getUiColumnIndex(), floatingBlockInformation.getColumns().contains(column), gridWidget.getViewport().getTransform(),
final GridColumn<?> uiColumn = ci.getColumn(); if (uiColumn == null) { return null;
final double cx = relativeLocation.getX(); final BaseGridRendererHelper.ColumnInformation ci = rendererHelper.getColumnInformation(cx); final double offsetX = ci.getOffsetX();
final double cx = relativeLocation.getX(); final BaseGridRendererHelper.ColumnInformation ci = rendererHelper.getColumnInformation(cx); final double offsetX = ci.getOffsetX();
final GridColumn<?> uiColumn = ci.getColumn(); if (uiColumn == null) { return null;
private boolean edit(final int uiRowIndex, final BaseGridRendererHelper.ColumnInformation ci, final Optional<Point2D> rp) { final GridColumn<?> column = ci.getColumn(); final int uiColumnIndex = ci.getUiColumnIndex(); final double offsetX = ci.getOffsetX();
final BaseGridRendererHelper rendererHelper = gridWidget.getRendererHelper(); final BaseGridRendererHelper.ColumnInformation ci = rendererHelper.getColumnInformation(cx); final GridColumn<?> column = ci.getColumn(); if (column == null) { return false;
when(columnInformation.getColumn()).thenReturn(uiColumn); when(modellerPresenter.getAvailableDecisionTables()).thenReturn(new HashSet<GuidedDecisionTableView.Presenter>() {
final BaseGridRendererHelper.RenderingInformation ri = rendererHelper.getRenderingInformation(); final BaseGridRendererHelper.ColumnInformation ci = rendererHelper.getColumnInformation(cx); final GridColumn<?> column = ci.getColumn(); if (column == null) { return false;
private boolean edit(final int uiRowIndex, final BaseGridRendererHelper.ColumnInformation ci, final Optional<Point2D> rp) { final GridColumn<?> column = ci.getColumn(); final int uiColumnIndex = ci.getUiColumnIndex(); final double offsetX = ci.getOffsetX();
when(columnInformation.getColumn()).thenReturn(uiColumn); when(modellerPresenter.getAvailableDecisionTables()).thenReturn(new HashSet<GuidedDecisionTableView.Presenter>() {
when(uiColumn.getLink()).thenAnswer(invocation -> uiLinkedColumn); final BaseGridRendererHelper.ColumnInformation ci = new BaseGridRendererHelper.ColumnInformation(uiColumn, 0, 0);
@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)); }
@Test @SuppressWarnings("unchecked") public void onContextMenuWithCellSelectionManagerWithChangeInSelection() { final GuidedDecisionTableView.Presenter dtPresenter = makeDecisionTable(); final GridData uiModel = dtPresenter.getView().getModel(); final GridColumn uiColumn = new RowNumberColumn(); uiModel.appendColumn(uiColumn); when(columnInformation.getColumn()).thenReturn(uiColumn); when(modellerPresenter.getAvailableDecisionTables()).thenReturn(new HashSet<GuidedDecisionTableView.Presenter>() {{ add(dtPresenter); }}); when(uiModel.getCell(any(Integer.class), any(Integer.class))).thenReturn(uiCell); when(cellSelectionStrategy.handleSelection(any(GridData.class), any(Integer.class), any(Integer.class), any(Boolean.class), any(Boolean.class))).thenReturn(true); final ContextMenuHandler handler = contextMenuSupport.getContextMenuHandler(modellerPresenter); handler.onContextMenu(event); verify(cellSelectionStrategy, times(1)).handleSelection(eq(uiModel), eq(0), eq(0), eq(false), eq(false)); verify(layer, times(1)).batch(); }