Search in sources :

Example 26 with SelectCellCommand

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()));
}
Also used : SelectCellCommand(org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand)

Example 27 with SelectCellCommand

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));
}
Also used : SelectCellCommand(org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand) Test(org.junit.Test)

Example 28 with SelectCellCommand

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());
}
Also used : SelectCellCommand(org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand) PositionCoordinate(org.eclipse.nebula.widgets.nattable.coordinate.PositionCoordinate) Test(org.junit.Test)

Example 29 with SelectCellCommand

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());
}
Also used : SelectCellCommand(org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand) PositionCoordinate(org.eclipse.nebula.widgets.nattable.coordinate.PositionCoordinate) Test(org.junit.Test)

Example 30 with SelectCellCommand

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());
}
Also used : SelectCellCommand(org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand) PositionCoordinate(org.eclipse.nebula.widgets.nattable.coordinate.PositionCoordinate) Test(org.junit.Test)

Aggregations

SelectCellCommand (org.eclipse.nebula.widgets.nattable.selection.command.SelectCellCommand)54 Test (org.junit.Test)50 PositionCoordinate (org.eclipse.nebula.widgets.nattable.coordinate.PositionCoordinate)15 ILayerCell (org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell)14 SpanningDataLayer (org.eclipse.nebula.widgets.nattable.layer.SpanningDataLayer)4 SelectColumnCommand (org.eclipse.nebula.widgets.nattable.selection.command.SelectColumnCommand)4 MultiColumnHideCommand (org.eclipse.nebula.widgets.nattable.hideshow.command.MultiColumnHideCommand)3 EditCellCommand (org.eclipse.nebula.widgets.nattable.edit.command.EditCellCommand)2 DefaultEditBindings (org.eclipse.nebula.widgets.nattable.edit.config.DefaultEditBindings)2 DefaultEditConfiguration (org.eclipse.nebula.widgets.nattable.edit.config.DefaultEditConfiguration)2 DummySpanningBodyDataProvider (org.eclipse.nebula.widgets.nattable.grid.data.DummySpanningBodyDataProvider)2 ColumnHideCommand (org.eclipse.nebula.widgets.nattable.hideshow.command.ColumnHideCommand)2 ShowAllColumnsCommand (org.eclipse.nebula.widgets.nattable.hideshow.command.ShowAllColumnsCommand)2 CompositeLayer (org.eclipse.nebula.widgets.nattable.layer.CompositeLayer)2 DataLayer (org.eclipse.nebula.widgets.nattable.layer.DataLayer)2 ILayerListener (org.eclipse.nebula.widgets.nattable.layer.ILayerListener)2 RowDeleteEvent (org.eclipse.nebula.widgets.nattable.layer.event.RowDeleteEvent)2 ColumnReorderCommand (org.eclipse.nebula.widgets.nattable.reorder.command.ColumnReorderCommand)2 SelectionLayer (org.eclipse.nebula.widgets.nattable.selection.SelectionLayer)2 NatTableFixture (org.eclipse.nebula.widgets.nattable.test.fixture.NatTableFixture)2