use of org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand in project nebula.widgets.nattable by eclipse.
the class SelectCellAction method run.
@Override
public void run(NatTable natTable, MouseEvent event) {
super.run(natTable, event);
natTable.doCommand(new SelectCellCommand(natTable, getGridColumnPosition(), getGridRowPosition(), isWithShiftMask(), isWithControlMask()));
}
use of org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand in project nebula.widgets.nattable by eclipse.
the class RowSelectionIntegrationTest method shouldIgnoreNullSelectionListener.
@Test
public void shouldIgnoreNullSelectionListener() {
// this test succeeds if no NPE occurs
this.selectionProvider.addSelectionChangedListener(null);
this.selectionLayer.doCommand(new SelectCellCommand(this.selectionLayer, 1, 0, false, true));
}
use of org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand in project nebula.widgets.nattable by eclipse.
the class RowSelectionIntegrationTest method onlyOneRowSelectedAtAnyTime.
@Test
public void onlyOneRowSelectedAtAnyTime() {
this.selectionLayer.getSelectionModel().setMultipleSelectionAllowed(false);
this.selectionLayer.clear();
this.selectionLayer.doCommand(new SelectCellCommand(this.selectionLayer, 1, 0, false, true));
Collection<PositionCoordinate> cells = ArrayUtil.asCollection(this.selectionLayer.getSelectedCellPositions());
Assert.assertEquals(this.selectionLayer.getColumnCount(), cells.size());
Assert.assertEquals(1, this.selectionLayer.getSelectedRowCount());
// select another cell with control mask
this.selectionLayer.doCommand(new SelectCellCommand(this.selectionLayer, 2, 1, false, true));
cells = ArrayUtil.asCollection(this.selectionLayer.getSelectedCellPositions());
Assert.assertEquals(this.selectionLayer.getColumnCount(), cells.size());
Assert.assertEquals(1, this.selectionLayer.getSelectedRowCount());
// select additional cells with shift mask
this.selectionLayer.doCommand(new SelectCellCommand(this.selectionLayer, 2, 10, true, false));
cells = ArrayUtil.asCollection(this.selectionLayer.getSelectedCellPositions());
Assert.assertEquals(this.selectionLayer.getColumnCount(), cells.size());
Assert.assertEquals(1, this.selectionLayer.getSelectedRowCount());
// select additional cells with shift mask
this.selectionLayer.doCommand(new SelectCellCommand(this.selectionLayer, 10, 0, true, false));
cells = ArrayUtil.asCollection(this.selectionLayer.getSelectedCellPositions());
Assert.assertEquals(this.selectionLayer.getColumnCount(), cells.size());
Assert.assertEquals(1, this.selectionLayer.getSelectedRowCount());
}
use of org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand in project nebula.widgets.nattable by eclipse.
the class FreezeHandlerTest method shouldFreezeRowsAndColumnsBasedOnMultiSelectionInclude.
@Test
public void shouldFreezeRowsAndColumnsBasedOnMultiSelectionInclude() {
this.compositeFreezeLayer.doCommand(new SelectCellCommand(this.compositeFreezeLayer, 2, 2, false, false));
this.compositeFreezeLayer.doCommand(new SelectCellCommand(this.compositeFreezeLayer, 3, 3, true, false));
// Make sure selection layer processed command
assertEquals(4, this.selectionLayer.getSelectedCellPositions().length);
PositionCoordinate lastSelectedCell = this.selectionLayer.getLastSelectedCellPosition();
assertEquals(3, lastSelectedCell.columnPosition);
assertEquals(3, lastSelectedCell.rowPosition);
// This is what would happen if we selected to freeze from a selected
// cell
this.compositeFreezeLayer.doCommand(new FreezeSelectionCommand(false, false, true));
assertEquals(0, this.freezeLayer.getTopLeftPosition().columnPosition);
assertEquals(0, this.freezeLayer.getTopLeftPosition().rowPosition);
assertNotNull(this.freezeLayer.getBottomRightPosition());
assertEquals(3, this.freezeLayer.getBottomRightPosition().columnPosition);
assertEquals(3, this.freezeLayer.getBottomRightPosition().rowPosition);
// Check viewport origin
assertEquals(4, this.viewportLayer.getMinimumOriginColumnPosition());
assertEquals(4, this.viewportLayer.getMinimumOriginRowPosition());
}
use of org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand in project nebula.widgets.nattable by eclipse.
the class FreezeHandlerTest method shouldFreezeRowsAndColumnsBasedOnSelection.
@Test
public void shouldFreezeRowsAndColumnsBasedOnSelection() {
this.compositeFreezeLayer.doCommand(new SelectCellCommand(this.compositeFreezeLayer, 2, 2, false, false));
// Make sure selection layer processed command
final PositionCoordinate lastSelectedCell = this.selectionLayer.getLastSelectedCellPosition();
assertEquals(2, lastSelectedCell.columnPosition);
assertEquals(2, lastSelectedCell.rowPosition);
// This is what would happen if we selected to freeze from a selected
// cell
this.compositeFreezeLayer.doCommand(new FreezeSelectionCommand());
assertEquals(0, this.freezeLayer.getTopLeftPosition().columnPosition);
assertEquals(0, this.freezeLayer.getTopLeftPosition().rowPosition);
assertNotNull(this.freezeLayer.getBottomRightPosition());
assertEquals(1, this.freezeLayer.getBottomRightPosition().columnPosition);
assertEquals(1, this.freezeLayer.getBottomRightPosition().rowPosition);
// Check viewport origin
assertEquals(2, this.viewportLayer.getMinimumOriginColumnPosition());
assertEquals(2, this.viewportLayer.getMinimumOriginRowPosition());
}
Aggregations