double calculateInitWidth(GridColumn<?> column, OptionalDouble optionalCurrentWidth) { if (!GridColumn.ColumnWidthMode.isAuto(column)) { return column.getWidth(); } GridWidthMetadata gridWidthMetadata = new GridWidthMetadata(optionalCurrentWidth); int visibleWidth = getVisibleWidth(); if (gridWidthMetadata.numberOfAutoColumn < 2) { return visibleWidth - gridWidthMetadata.fixedWidth; } return (visibleWidth - gridWidthMetadata.fixedWidth) / (gridWidthMetadata.numberOfAutoColumn - 1); }
double calculateInitWidth(GridColumn<?> column, OptionalDouble optionalCurrentWidth) { if (!GridColumn.ColumnWidthMode.isAuto(column)) { return column.getWidth(); } GridWidthMetadata gridWidthMetadata = new GridWidthMetadata(optionalCurrentWidth); int visibleWidth = getVisibleWidth(); if (gridWidthMetadata.numberOfAutoColumn < 2) { return visibleWidth - gridWidthMetadata.fixedWidth; } return (visibleWidth - gridWidthMetadata.fixedWidth) / (gridWidthMetadata.numberOfAutoColumn - 1); }
protected boolean internalRefreshWidth(boolean changedNumberOfColumn, OptionalDouble optionalCurrentWidth) { double visibleWidth = getVisibleWidth();
protected boolean internalRefreshWidth(boolean changedNumberOfColumn, OptionalDouble optionalCurrentWidth) { double visibleWidth = getVisibleWidth();
@Test public void calculateInitWidth() { BaseGridData data = spy(baseGridData); double originalWidth = 100; BaseGridColumn<String> column = new BaseGridColumn<>(header, columnRenderer, originalWidth); column.setColumnWidthMode(GridColumn.ColumnWidthMode.FIXED); data.appendColumn(column); assertEquals(originalWidth, data.calculateInitWidth(column, OptionalDouble.empty()), 0.1); data.setVisibleSizeAndRefresh(500, 0); BaseGridColumn<String> column1 = new BaseGridColumn<>(header, columnRenderer, originalWidth); column1.setColumnWidthMode(GridColumn.ColumnWidthMode.AUTO); data.appendColumn(column1); assertEquals(data.getVisibleWidth() - originalWidth, data.calculateInitWidth(column1, OptionalDouble.empty()), 0.1); BaseGridColumn<String> column2 = new BaseGridColumn<>(header, columnRenderer, originalWidth); column2.setColumnWidthMode(GridColumn.ColumnWidthMode.AUTO); data.appendColumn(column2); BaseGridColumn<String> column3 = new BaseGridColumn<>(header, columnRenderer, originalWidth); column3.setColumnWidthMode(GridColumn.ColumnWidthMode.AUTO); data.appendColumn(column3); assertEquals(((data.getVisibleWidth() - originalWidth) / 2), data.calculateInitWidth(column2, OptionalDouble.empty()), 0.1); }
@Test public void calculateInitWidth() { BaseGridData data = spy(baseGridData); double originalWidth = 100; BaseGridColumn<String> column = new BaseGridColumn<>(header, columnRenderer, originalWidth); column.setColumnWidthMode(GridColumn.ColumnWidthMode.FIXED); data.appendColumn(column); assertEquals(originalWidth, data.calculateInitWidth(column, OptionalDouble.empty()), 0.1); data.setVisibleSizeAndRefresh(500, 0); BaseGridColumn<String> column1 = new BaseGridColumn<>(header, columnRenderer, originalWidth); column1.setColumnWidthMode(GridColumn.ColumnWidthMode.AUTO); data.appendColumn(column1); assertEquals(data.getVisibleWidth() - originalWidth, data.calculateInitWidth(column1, OptionalDouble.empty()), 0.1); BaseGridColumn<String> column2 = new BaseGridColumn<>(header, columnRenderer, originalWidth); column2.setColumnWidthMode(GridColumn.ColumnWidthMode.AUTO); data.appendColumn(column2); BaseGridColumn<String> column3 = new BaseGridColumn<>(header, columnRenderer, originalWidth); column3.setColumnWidthMode(GridColumn.ColumnWidthMode.AUTO); data.appendColumn(column3); assertEquals(((data.getVisibleWidth() - originalWidth) / 2), data.calculateInitWidth(column2, OptionalDouble.empty()), 0.1); }