use of net.sourceforge.nattable.reorder.command.ColumnReorderCommand in project translationstudio8 by heartsome.
the class ChooseColumnsFromCategoriesCommandHandler method itemsMoved.
/**
* Moves the columns up or down by firing commands on the dialog.<br/>
*
* Individual columns are moved using the {@link ColumnReorderCommand}<br/>
* Contiguously selected columns are moved using the {@link MultiColumnReorderCommand}<br/>
*/
public void itemsMoved(MoveDirectionEnum direction, List<Integer> selectedPositions) {
List<List<Integer>> fromPositions = PositionUtil.getGroupedByContiguous(selectedPositions);
List<Integer> toPositions = getDestinationPositions(direction, fromPositions);
for (int i = 0; i < fromPositions.size(); i++) {
boolean multipleColumnsMoved = fromPositions.get(i).size() > 1;
ILayerCommand command = null;
if (!multipleColumnsMoved) {
int fromPosition = fromPositions.get(i).get(0).intValue();
int toPosition = toPositions.get(i);
command = new ColumnReorderCommand(columnHideShowLayer, fromPosition, toPosition);
} else if (multipleColumnsMoved) {
command = new MultiColumnReorderCommand(columnHideShowLayer, fromPositions.get(i), toPositions.get(i));
}
columnHideShowLayer.doCommand(command);
}
refreshDialog();
}
Aggregations