@Override public void appendColumn(final GridColumn<?> column) { double originalWidth = getWidth(); column.setIndex(columns.size()); columns.add(column); OptionalDouble optionalOriginalWidth = OptionalDouble.of(originalWidth); if (GridColumn.ColumnWidthMode.isAuto(column)) { column.setWidth(calculateInitWidth(column, optionalOriginalWidth)); internalRefreshWidth(true, optionalOriginalWidth); } selectionsManager.onInsertColumn(columns.size() - 1); }
@Override public void appendColumn(final GridColumn<?> column) { double originalWidth = getWidth(); column.setIndex(columns.size()); columns.add(column); OptionalDouble optionalOriginalWidth = OptionalDouble.of(originalWidth); if (GridColumn.ColumnWidthMode.isAuto(column)) { column.setWidth(calculateInitWidth(column, optionalOriginalWidth)); internalRefreshWidth(true, optionalOriginalWidth); } selectionsManager.onInsertColumn(columns.size() - 1); }
@Override public void insertColumn(final int index, final GridColumn<?> column) { double originalWidth = getWidth(); column.setIndex(columns.size()); columns.add(index, column); OptionalDouble optionalOriginalWidth = OptionalDouble.of(originalWidth); if (GridColumn.ColumnWidthMode.isAuto(column)) { column.setWidth(calculateInitWidth(column, optionalOriginalWidth)); internalRefreshWidth(true, optionalOriginalWidth); } selectionsManager.onInsertColumn(index); }
@Override public void insertColumn(final int index, final GridColumn<?> column) { double originalWidth = getWidth(); column.setIndex(columns.size()); columns.add(index, column); OptionalDouble optionalOriginalWidth = OptionalDouble.of(originalWidth); if (GridColumn.ColumnWidthMode.isAuto(column)) { column.setWidth(calculateInitWidth(column, optionalOriginalWidth)); internalRefreshWidth(true, optionalOriginalWidth); } selectionsManager.onInsertColumn(index); }
newWidth = calculateInitWidth(column, OptionalDouble.empty());
newWidth = calculateInitWidth(column, OptionalDouble.empty());
@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); }