use of org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell in project nebula.widgets.nattable by eclipse.
the class EditIntegrationTest method navigationWithTab.
@Test
public void navigationWithTab() throws Exception {
this.natTable.enableEditingOnAllCells();
this.natTable.doCommand(new SelectCellCommand(this.natTable, 1, 1, false, false));
// Edit cell
ILayerCell cell = this.natTable.getCellByPosition(1, 1);
this.natTable.doCommand(new EditCellCommand(this.natTable, this.natTable.getConfigRegistry(), cell));
// Press tab - 3 times
Text textControl = ((Text) this.natTable.getActiveCellEditor().getEditorControl());
textControl.notifyListeners(SWT.Traverse, SWTUtils.keyEvent(SWT.TAB));
this.natTable.notifyListeners(SWT.KeyDown, SWTUtils.keyEvent(SWT.TAB));
this.natTable.notifyListeners(SWT.KeyDown, SWTUtils.keyEvent(SWT.TAB));
this.natTable.notifyListeners(SWT.KeyDown, SWTUtils.keyEvent(SWT.TAB));
// Verify new cell selection
PositionCoordinate lastSelectedCellPosition = this.gridLayerStack.getBodyLayer().getSelectionLayer().getSelectionAnchor();
assertEquals(4, lastSelectedCellPosition.columnPosition);
assertEquals(0, lastSelectedCellPosition.rowPosition);
// Verify that no cell is being edited
assertNull(this.natTable.getActiveCellEditor());
assertNull(ActiveCellEditorRegistry.getActiveCellEditor());
}
use of org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell in project nebula.widgets.nattable by eclipse.
the class EditIntegrationTest method testEditorRemovedWhenCommitted.
/**
* Test case that ensures that an editor, which is committed through the
* {@linkplain EditUtils}, is also removed from the table.
* <p>
* Ensures that the backward compatibility is not broken.
* </p>
*/
@Test
public void testEditorRemovedWhenCommitted() {
this.natTable.enableEditingOnAllCells();
ILayerCell cell = this.natTable.getCellByPosition(4, 4);
this.natTable.doCommand(new EditCellCommand(this.natTable, this.natTable.getConfigRegistry(), cell));
Text editor = (Text) this.natTable.getActiveCellEditor().getEditorControl();
editor.setText("A");
// Close the again
EditUtils.commitAndCloseActiveEditor();
// check if value is saved and editor is gone
assertEquals("A", this.natTable.getCellByPosition(4, 4).getDataValue());
assertNull(this.natTable.getActiveCellEditor());
assertNull(ActiveCellEditorRegistry.getActiveCellEditor());
}
use of org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell in project nebula.widgets.nattable by eclipse.
the class EditIntegrationTest method testEditorRemovedWhenClosed.
/**
* Test case that ensures that an editor, which is closed via API, is also
* removed from the table.
* <p>
* Ensures that the backward compatibility is not broken.
* </p>
*/
@Test
public void testEditorRemovedWhenClosed() {
this.natTable.enableEditingOnAllCells();
ILayerCell cell = this.natTable.getCellByPosition(4, 4);
this.natTable.doCommand(new EditCellCommand(this.natTable, this.natTable.getConfigRegistry(), cell));
// close the editor
ActiveCellEditorRegistry.getActiveCellEditor().close();
// check if editor is gone
assertNull(this.natTable.getActiveCellEditor());
assertNull(ActiveCellEditorRegistry.getActiveCellEditor());
}
use of org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell in project nebula.widgets.nattable by eclipse.
the class EditIntegrationTest method testEditorResize.
@Test
public void testEditorResize() {
this.natTable.enableEditingOnAllCells();
ILayerCell cell = this.natTable.getCellByPosition(4, 4);
this.natTable.doCommand(new EditCellCommand(this.natTable, this.natTable.getConfigRegistry(), cell));
assertEquals(new Rectangle(340, 80, 99, 19), this.natTable.getActiveCellEditor().getEditorControl().getBounds());
this.natTable.doCommand(new ColumnResizeCommand(this.natTable, 2, 110));
assertEquals(new Rectangle(340, 80, 99, 19), this.natTable.getActiveCellEditor().getEditorControl().getBounds());
this.natTable.getActiveCellEditor().getEditorControl().notifyListeners(SWT.FocusOut, null);
// ActiveCellEditor should be closed if a ColumnResizeCommand is
// executed and the editor loses focus
assertNull(this.natTable.getActiveCellEditor());
assertNull(ActiveCellEditorRegistry.getActiveCellEditor());
}
use of org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell in project nebula.widgets.nattable by eclipse.
the class SelectAllTest method shouldHaveAllCellsSelected.
@Test
public void shouldHaveAllCellsSelected() {
for (int columnPosition = 0; columnPosition < this.selectionLayer.getColumnCount(); columnPosition++) {
for (int rowPosition = 0; rowPosition < this.selectionLayer.getRowCount(); rowPosition++) {
ILayerCell cell = this.selectionLayer.getCellByPosition(columnPosition, rowPosition);
Assert.assertEquals(DisplayMode.SELECT, cell.getDisplayMode());
}
}
}
Aggregations