blob: 4da5c3478febde5f8b60b11074bddb60e5a04d22 [file] [log] [blame]
package org.eclipse.nebula.widgets.nattable.core.layer.cell.impl
import org.eclipse.nebula.widgets.nattable.core.layer.Layer
import org.eclipse.nebula.widgets.nattable.core.layer.LayerDataAccessor
import static extension org.eclipse.nebula.widgets.nattable.core.layer.LayerInvariants.*
/**
* A Cell that uses a LayerDataAccessor to read and write its data value.
*/
class LayerDataAccessorCell extends AbstractCell {
val LayerDataAccessor layerDataAccessor
new(Layer layer, long columnPosition, long rowPosition, LayerDataAccessor layerDataAccessor) {
super(layer, columnPosition, rowPosition)
this.layerDataAccessor = layerDataAccessor
}
// Cell interface
override getDataValue() {
layerDataAccessor.getDataValueOfCell(
layer,
layer.getColumnIdOfPosition(positionBounds.originPosition.columnPosition),
layer.getRowIdOfPosition(positionBounds.originPosition.rowPosition)
)
}
override setDataValue(Object newValue) {
layerDataAccessor.setDataValueOfCell(
newValue,
layer,
layer.getColumnIdOfPosition(positionBounds.originPosition.columnPosition),
layer.getRowIdOfPosition(positionBounds.originPosition.rowPosition)
)
}
}