protected boolean isUnique(String value, int rowIndex, int columnIndex) { Range instanceLimits = getInstanceLimits(columnIndex); SimulationDescriptor simulationDescriptor = simulation.getSimulationDescriptor(); FactIdentifier factIdentifier = simulationDescriptor.getFactMappingByIndex(columnIndex).getFactIdentifier(); return IntStream.range(0, getColumnCount()) .filter(index -> index < instanceLimits.getMinRowIndex() || index > instanceLimits.getMaxRowIndex()) .filter(index -> !Objects.equals(factIdentifier, simulationDescriptor.getFactMappingByIndex(index).getFactIdentifier())) .mapToObj(index -> getColumns().get(index)) .filter(elem -> elem.getHeaderMetaData().size() > rowIndex) .map(elem -> (ScenarioHeaderMetaData) elem.getHeaderMetaData().get(rowIndex)) .noneMatch(elem -> Objects.equals(elem.getTitle(), value)); }
public void onDeleteRow(final GridData.Range range) { final int minRowIndex = range.getMinRowIndex(); final int maxRowIndex = range.getMaxRowIndex(); final List<GridData.SelectedCell> selectedCells = gridData.getSelectedCells(); final List<GridData.SelectedCell> selectedCellsToRemove = new ArrayList<GridData.SelectedCell>(); final List<GridData.SelectedCell> selectedCellsToUpdate = new ArrayList<GridData.SelectedCell>(); for (GridData.SelectedCell sc : selectedCells) { if (sc.getRowIndex() >= minRowIndex && sc.getRowIndex() <= maxRowIndex) { selectedCellsToRemove.add(sc); } else if (sc.getRowIndex() > maxRowIndex) { selectedCellsToUpdate.add(sc); } } selectedCells.removeAll(selectedCellsToRemove); selectedCells.removeAll(selectedCellsToUpdate); for (GridData.SelectedCell sc : selectedCellsToUpdate) { selectedCells.add(new GridData.SelectedCell(sc.getRowIndex() - 1, sc.getColumnIndex())); } }
public void onDeleteRow(final GridData.Range range) { final int minRowIndex = range.getMinRowIndex(); final int maxRowIndex = range.getMaxRowIndex(); final List<GridData.SelectedCell> selectedCells = gridData.getSelectedCells(); final List<GridData.SelectedCell> selectedCellsToRemove = new ArrayList<GridData.SelectedCell>(); final List<GridData.SelectedCell> selectedCellsToUpdate = new ArrayList<GridData.SelectedCell>(); for (GridData.SelectedCell sc : selectedCells) { if (sc.getRowIndex() >= minRowIndex && sc.getRowIndex() <= maxRowIndex) { selectedCellsToRemove.add(sc); } else if (sc.getRowIndex() > maxRowIndex) { selectedCellsToUpdate.add(sc); } } selectedCells.removeAll(selectedCellsToRemove); selectedCells.removeAll(selectedCellsToUpdate); for (GridData.SelectedCell sc : selectedCellsToUpdate) { selectedCells.add(new GridData.SelectedCell(sc.getRowIndex() - 1, sc.getColumnIndex())); } }
@Override public void setCellValue(final GridData.Range rowRange, final int columnIndex, final GridCellValue<?> value) { final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); for (int rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) { final List<DTCellValue52> modelRow = model.getData().get(rowIndex); final DTCellValue52 modelCell = modelRow.get(columnIndex); if (value == null) { modelCell.clearValues(); } else { modelRow.set(columnIndex, new DTCellValue52(value.getValue())); } } final Set<Integer> columnRange = updateDependentEnumerationColumns(rowRange, columnIndex); fireValidateEvent(rowRange, columnRange); }
public void onDeleteRow(final GridData.Range range) { if (!gridData.isMerged()) { return; } final int minRowIndex = range.getMinRowIndex(); final int maxRowIndex = range.getMaxRowIndex(); final List<GridColumn<?>> columns = gridData.getColumns(); for (int _rowIndex = minRowIndex; _rowIndex <= maxRowIndex; _rowIndex++) { for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { final GridColumn<?> column = columns.get(columnIndex); final int _columnIndex = column.getIndex(); if (minRowIndex < gridData.getRowCount()) { updateMergeMetaData(minRowIndex, _columnIndex); } else if (minRowIndex > 0) { updateMergeMetaData(minRowIndex - 1, _columnIndex); } } } }
public void onDeleteRow(final GridData.Range range) { if (!gridData.isMerged()) { return; } final int minRowIndex = range.getMinRowIndex(); final int maxRowIndex = range.getMaxRowIndex(); final List<GridColumn<?>> columns = gridData.getColumns(); for (int _rowIndex = minRowIndex; _rowIndex <= maxRowIndex; _rowIndex++) { for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { final GridColumn<?> column = columns.get(columnIndex); final int _columnIndex = column.getIndex(); if (minRowIndex < gridData.getRowCount()) { updateMergeMetaData(minRowIndex, _columnIndex); } else if (minRowIndex > 0) { updateMergeMetaData(minRowIndex - 1, _columnIndex); } } } }
private Set<Integer> updateDependentEnumerationColumns(final GridData.Range rowRange, final int columnIndex) { final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); final Context context = new Context(rowRange.getMinRowIndex(), columnIndex); final Set<Integer> dependentColumnIndexes = dependentEnumsUtilities.getDependentColumnIndexes(context); for (int dependentColumnIndex : dependentColumnIndexes) { for (int rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) { final List<DTCellValue52> modelRow = model.getData().get(rowIndex); final DTCellValue52 modelCell = modelRow.get(dependentColumnIndex); modelCell.clearValues(); uiModel.deleteCellInternal(rowIndex, dependentColumnIndex); } uiModel.indexColumn(dependentColumnIndex); } dependentColumnIndexes.add(columnIndex); return dependentColumnIndexes; }
private Set<Integer> updateDependentEnumerationColumns(final GridData.Range rowRange, final int columnIndex) { final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); final Context context = new Context(rowRange.getMinRowIndex(), columnIndex); final Set<Integer> dependentColumnIndexes = dependentEnumsUtilities.getDependentColumnIndexes(context); for (int dependentColumnIndex : dependentColumnIndexes) { for (int rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) { final List<DTCellValue52> modelRow = model.getData().get(rowIndex); final DTCellValue52 modelCell = modelRow.get(dependentColumnIndex); modelCell.clearValues(); uiModel.deleteCellInternal(rowIndex, dependentColumnIndex); } uiModel.indexColumn(dependentColumnIndex); } dependentColumnIndexes.add(columnIndex); return dependentColumnIndexes; }
@Test public void onDeleteSelectedCellsWithSelection() { final GridData uiModel = dtPresenter.getUiModel(); uiModel.selectCell(0, 1); final ArgumentCaptor<Integer> columnIndexCaptor = ArgumentCaptor.forClass(Integer.class); final ArgumentCaptor<GridData.Range> rowRangeCaptor = ArgumentCaptor.forClass(GridData.Range.class); dtPresenter.onDeleteSelectedCells(); verify(synchronizer, times(1)).deleteCell(rowRangeCaptor.capture(), columnIndexCaptor.capture()); checkDTSelectionsChangedEventFired(2); final Integer columnIndex = columnIndexCaptor.getValue(); final GridData.Range rowRange = rowRangeCaptor.getValue(); assertEquals(0, rowRange.getMinRowIndex()); assertEquals(0, rowRange.getMaxRowIndex()); assertEquals(1, columnIndex.intValue()); }
@Override public void setCellValue(final GridData.Range rowRange, final int columnIndex, final GridCellValue<?> value) { final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); for (int rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) { final List<DTCellValue52> modelRow = model.getData().get(rowIndex); final DTCellValue52 modelCell = modelRow.get(columnIndex); if (value == null) { modelCell.clearValues(); } else { modelRow.set(columnIndex, new DTCellValue52(value.getValue())); } } final Set<Integer> columnRange = updateDependentEnumerationColumns(rowRange, columnIndex); fireValidateEvent(rowRange, columnRange); }
@Override public void deleteCell(final GridData.Range rowRange, final int columnIndex) { final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); for (int rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) { final List<DTCellValue52> modelRow = model.getData().get(rowIndex); final DTCellValue52 modelCell = modelRow.get(columnIndex); modelCell.clearValues(); } final Set<Integer> columnRange = updateDependentEnumerationColumns(rowRange, columnIndex); fireValidateEvent(rowRange, columnRange); }
protected void fireValidateEvent(final GridData.Range rowRange, final Set<Integer> columnRange) { final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); final List<Coordinate> updates = new ArrayList<>(); for (final Integer columnIndex : columnRange) { for (int rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) { updates.add(new Coordinate(rowIndex, columnIndex)); } } final ValidateEvent event = new ValidateEvent(updates); eventBus.fireEvent(event); }
protected void fireValidateEvent(final GridData.Range rowRange, final Set<Integer> columnRange) { final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); final List<Coordinate> updates = new ArrayList<>(); for (final Integer columnIndex : columnRange) { for (int rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) { updates.add(new Coordinate(rowIndex, columnIndex)); } } final ValidateEvent event = new ValidateEvent(updates); eventBus.fireEvent(event); }
@Override public void deleteCell(final GridData.Range rowRange, final int columnIndex) { final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); for (int rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) { final List<DTCellValue52> modelRow = model.getData().get(rowIndex); final DTCellValue52 modelCell = modelRow.get(columnIndex); modelCell.clearValues(); } final Set<Integer> columnRange = updateDependentEnumerationColumns(rowRange, columnIndex); fireValidateEvent(rowRange, columnRange); }
@Override public void delete(final RowMetaData metaData) throws VetoException { if (!handlesDelete(metaData)) { return; } final int rowIndex = metaData.getRowIndex(); final GridData.Range rowRange = uiModel.deleteRow(rowIndex); final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); for (int ri = minRowIndex; ri <= maxRowIndex; ri++) { model.getData().remove(minRowIndex); } }
@Override public void delete(final RowMetaData metaData) throws VetoException { if (!handlesDelete(metaData)) { return; } final int rowIndex = metaData.getRowIndex(); final GridData.Range rowRange = uiModel.deleteRow(rowIndex); final int minRowIndex = rowRange.getMinRowIndex(); final int maxRowIndex = rowRange.getMaxRowIndex(); for (int ri = minRowIndex; ri <= maxRowIndex; ri++) { model.getData().remove(minRowIndex); } }
public void onSetCell(final GridData.Range range, final int columnIndex) { final int minRowIndex = range.getMinRowIndex(); updateMergeMetaData(minRowIndex, columnIndex); }
public void onDeleteCell(final GridData.Range range, final int columnIndex) { final int minRowIndex = range.getMinRowIndex(); final int maxRowIndex = range.getMaxRowIndex(); for (int i = minRowIndex; i <= maxRowIndex; i++) { final GridRow row = gridData.getRow(i); updateRowMergedCells(row); } updateMergeMetaData(minRowIndex, columnIndex); }
public void onSetCell(final GridData.Range range, final int columnIndex) { final int minRowIndex = range.getMinRowIndex(); updateMergeMetaData(minRowIndex, columnIndex); }
public void onDeleteCell(final GridData.Range range, final int columnIndex) { final int minRowIndex = range.getMinRowIndex(); final int maxRowIndex = range.getMaxRowIndex(); for (int i = minRowIndex; i <= maxRowIndex; i++) { final GridRow row = gridData.getRow(i); updateRowMergedCells(row); } updateMergeMetaData(minRowIndex, columnIndex); }