BiFunction<SelectedRange, Integer, Double> getBodySelectionYOffsetStrategy() { return (selectedRange, minVisibleUiRowIndex) -> { final double uiRowOffset = rendererHelper.getRowOffset(selectedRange.getUiRowIndex()); final double uiMinVisibleRowOffset = rendererHelper.getRowOffset(minVisibleUiRowIndex); return uiRowOffset - uiMinVisibleRowOffset; }; }
BiFunction<SelectedRange, Integer, Double> getBodySelectionYOffsetStrategy() { return (selectedRange, minVisibleUiRowIndex) -> { final double uiRowOffset = rendererHelper.getRowOffset(selectedRange.getUiRowIndex()); final double uiMinVisibleRowOffset = rendererHelper.getRowOffset(minVisibleUiRowIndex); return uiRowOffset - uiMinVisibleRowOffset; }; }
/** * Get the y-offset for a given Row. * @param row The GridRow. * @return */ public double getRowOffset(final GridRow row) { final GridData model = view.getModel(); final int rowIndex = model.getRows().indexOf(row); return getRowOffset(rowIndex); }
/** * Get the y-offset for a given Row. * @param row The GridRow. * @return */ public double getRowOffset(final GridRow row) { final GridData model = view.getModel(); final int rowIndex = model.getRows().indexOf(row); return getRowOffset(rowIndex); }
private double getRowOffset(final int uiRowIndex, final int uiColumnIndex, final BaseGridRendererHelper rendererHelper) { final GridCell<?> cell = gridModel.getCell(uiRowIndex, uiColumnIndex); if (cell == null) { return rendererHelper.getRowOffset(uiRowIndex); } if (cell.getMergedCellCount() == 1) { return rendererHelper.getRowOffset(uiRowIndex); } else if (cell.getMergedCellCount() > 1) { return rendererHelper.getRowOffset(uiRowIndex); } else { int _uiRowIndex = uiRowIndex; GridCell<?> _cell = cell; while (_cell.getMergedCellCount() == 0) { _uiRowIndex--; _cell = gridModel.getCell(_uiRowIndex, uiColumnIndex); } return rendererHelper.getRowOffset(_uiRowIndex); } }
private double getRowOffset(final int uiRowIndex, final int uiColumnIndex, final BaseGridRendererHelper rendererHelper) { final GridCell<?> cell = gridModel.getCell(uiRowIndex, uiColumnIndex); if (cell == null) { return rendererHelper.getRowOffset(uiRowIndex); } if (cell.getMergedCellCount() == 1) { return rendererHelper.getRowOffset(uiRowIndex); } else if (cell.getMergedCellCount() > 1) { return rendererHelper.getRowOffset(uiRowIndex); } else { int _uiRowIndex = uiRowIndex; GridCell<?> _cell = cell; while (_cell.getMergedCellCount() == 0) { _uiRowIndex--; _cell = gridModel.getCell(_uiRowIndex, uiColumnIndex); } return rendererHelper.getRowOffset(_uiRowIndex); } }
@Override public double getHeight() { double height = renderer.getHeaderHeight(); height = height + rendererHelper.getRowOffset(model.getRowCount()); return height; }
@Override public double getHeight() { double height = renderer.getHeaderHeight(); height = height + rendererHelper.getRowOffset(model.getRowCount()); return height; }
@SuppressWarnings("unchecked") private void mockGridRendering(final double expectedHeaderYOffset, final double headerHeight, final int numberOfRows) { final List<Double> rowOffsets = new ArrayList<>(); for (int i = 0; i < numberOfRows; i++) { rowOffsets.add(i * ROW_HEIGHT); model.appendRow(new BaseGridRow(ROW_HEIGHT)); when(rendererHelper.getRowOffset(i)).thenReturn(rowOffsets.get(i)); } final BaseGridRendererHelper.RenderingInformation ri = makeRenderingInformation(model, rowOffsets, BaseGridWidgetRenderingTestUtils.HEADER_HEIGHT + expectedHeaderYOffset); when(rendererHelper.getRenderingInformation()).thenReturn(ri); when(renderer.getHeaderHeight()).thenReturn(headerHeight); final GridColumn<String> column = new BaseGridColumn<>(Arrays.asList(new BaseHeaderMetaData("row1"), new BaseHeaderMetaData("row2")), mock(GridColumnRenderer.class), 100.0); model.appendColumn(column); final Context2D context2D = mock(Context2D.class); final BoundingBox boundingBox = mock(BoundingBox.class); gridWidget.drawWithTransforms(context2D, 1.0, boundingBox); }
@SuppressWarnings("unchecked") private void mockGridRendering(final double expectedHeaderYOffset, final double headerHeight, final int numberOfRows) { final List<Double> rowOffsets = new ArrayList<>(); for (int i = 0; i < numberOfRows; i++) { rowOffsets.add(i * ROW_HEIGHT); model.appendRow(new BaseGridRow(ROW_HEIGHT)); when(rendererHelper.getRowOffset(i)).thenReturn(rowOffsets.get(i)); } final BaseGridRendererHelper.RenderingInformation ri = makeRenderingInformation(model, rowOffsets, BaseGridWidgetRenderingTestUtils.HEADER_HEIGHT + expectedHeaderYOffset); when(rendererHelper.getRenderingInformation()).thenReturn(ri); when(renderer.getHeaderHeight()).thenReturn(headerHeight); final GridColumn<String> column = new BaseGridColumn<>(Arrays.asList(new BaseHeaderMetaData("row1"), new BaseHeaderMetaData("row2")), mock(GridColumnRenderer.class), 100.0); model.appendColumn(column); final Context2D context2D = mock(Context2D.class); final BoundingBox boundingBox = mock(BoundingBox.class); gridWidget.drawWithTransforms(context2D, 1.0, boundingBox); }
protected void showRowHighlight(final GridWidget view, final List<GridRow> activeGridRows) { final BaseGridRendererHelper rendererHelper = view.getRendererHelper(); final BaseGridRendererHelper.RenderingInformation renderingInformation = rendererHelper.getRenderingInformation(); if (renderingInformation == null) { return; } final Bounds bounds = renderingInformation.getBounds(); final GridRow row = activeGridRows.get(0); final double rowOffsetY = rendererHelper.getRowOffset(row) + view.getRenderer().getHeaderHeight(); final double highlightWidth = Math.min(bounds.getX() + bounds.getWidth() - view.getAbsoluteX(), view.getWidth()); final double highlightHeight = row.getHeight(); state.getEventColumnHighlight().setWidth(highlightWidth) .setHeight(highlightHeight) .setX(view.getAbsoluteX()) .setY(view.getAbsoluteY() + rowOffsetY); layer.add(state.getEventColumnHighlight()); layer.getLayer().batch(); } }
protected void showRowHighlight(final GridWidget view, final List<GridRow> activeGridRows) { final BaseGridRendererHelper rendererHelper = view.getRendererHelper(); final BaseGridRendererHelper.RenderingInformation renderingInformation = rendererHelper.getRenderingInformation(); if (renderingInformation == null) { return; } final Bounds bounds = renderingInformation.getBounds(); final GridRow row = activeGridRows.get(0); final double rowOffsetY = rendererHelper.getRowOffset(row) + view.getRenderer().getHeaderHeight(); final double highlightWidth = Math.min(bounds.getX() + bounds.getWidth() - view.getAbsoluteX(), view.getWidth()); final double highlightHeight = row.getHeight(); state.getEventColumnHighlight().setWidth(highlightWidth) .setHeight(highlightHeight) .setX(view.getAbsoluteX()) .setY(view.getAbsoluteY() + rowOffsetY); layer.add(state.getEventColumnHighlight()); layer.getLayer().batch(); } }
private double getCellScrollDeltaY(final GridWidget gridWidget) { final GridData gridModel = gridWidget.getModel(); final GridData.SelectedCell origin = gridModel.getSelectedCellsOrigin(); final int uiRowIndex = origin.getRowIndex(); double dy = 0; final Bounds bounds = gridLayer.getVisibleBounds(); final double rowHeight = gridModel.getRow(uiRowIndex).getHeight(); final double headerHeight = gridWidget.getRenderer().getHeaderHeight(); final double gridCellY = gridWidget.getY() + headerHeight + gridWidget.getRendererHelper().getRowOffset(uiRowIndex); if (gridCellY + rowHeight >= bounds.getY() + bounds.getHeight()) { dy = bounds.getY() + bounds.getHeight() - gridCellY - rowHeight; } else if (gridCellY <= bounds.getY() + headerHeight) { dy = bounds.getY() + headerHeight - gridCellY; } return dy; }
activeGridRows); final double rowOffsetY = rendererHelper.getRowOffset(leadRow) + headerHeight; state.getEventColumnHighlight().setY(activeGridWidget.getAbsoluteY() + rowOffsetY); layer.batch();
private double getCellScrollDeltaY(final GridWidget gridWidget) { final GridData gridModel = gridWidget.getModel(); final GridData.SelectedCell origin = gridModel.getSelectedCellsOrigin(); final int uiRowIndex = origin.getRowIndex(); double dy = 0; final Bounds bounds = gridLayer.getVisibleBounds(); final double rowHeight = gridModel.getRow(uiRowIndex).getHeight(); final double headerHeight = gridWidget.getRenderer().getHeaderHeight(); final double gridCellY = gridWidget.getY() + headerHeight + gridWidget.getRendererHelper().getRowOffset(uiRowIndex); if (gridCellY + rowHeight >= bounds.getY() + bounds.getHeight()) { dy = bounds.getY() + bounds.getHeight() - gridCellY - rowHeight; } else if (gridCellY <= bounds.getY() + headerHeight) { dy = bounds.getY() + headerHeight - gridCellY; } return dy; }
activeGridRows); final double rowOffsetY = rendererHelper.getRowOffset(leadRow) + headerHeight; state.getEventColumnHighlight().setY(activeGridWidget.getAbsoluteY() + rowOffsetY); layer.batch();
Rectangle makeRowHighlight(final int _rowIndex, final int _visibleRowIndex, final GridData model, final GridBodyRenderContext context, final BaseGridRendererHelper rendererHelper) { final Rectangle r = new Rectangle(0, 0).setAlpha(0.3).setFillColor(ColorName.ORANGE).setListening(false); r.setY(rendererHelper.getRowOffset(_visibleRowIndex)); r.setWidth(rendererHelper.getWidth(context.getBlockColumns())); r.setHeight(model.getRow(_rowIndex).getHeight()); switch (rowHighlightSeverity) { case NOTE: r.setFillColor(ColorName.LIGHTBLUE); break; case WARNING: r.setFillColor(ColorName.ORANGE); break; case ERROR: r.setFillColor(ColorName.RED); break; } return r; } }
Rectangle makeRowHighlight(final int _rowIndex, final int _visibleRowIndex, final GridData model, final GridBodyRenderContext context, final BaseGridRendererHelper rendererHelper) { final Rectangle r = new Rectangle(0, 0).setAlpha(0.3).setFillColor(ColorName.ORANGE).setListening(false); r.setY(rendererHelper.getRowOffset(_visibleRowIndex)); r.setWidth(rendererHelper.getWidth(context.getBlockColumns())); r.setHeight(model.getRow(_rowIndex).getHeight()); switch (rowHighlightSeverity) { case NOTE: r.setFillColor(ColorName.LIGHTBLUE); break; case WARNING: r.setFillColor(ColorName.ORANGE); break; case ERROR: r.setFillColor(ColorName.RED); break; } return r; } }
uiColumnIndex); final double cellX = cx - offsetX; final double cellY = cy - rendererHelper.getRowOffset(uiRowIndex) - renderer.getHeaderHeight(); if (!gridWidget.onGroupingToggle(cellX, cellY,
uiColumnIndex); final double cellX = cx - offsetX; final double cellY = cy - rendererHelper.getRowOffset(uiRowIndex) - renderer.getHeaderHeight(); if (!gridWidget.onGroupingToggle(cellX, cellY,