blob: 33986ad04680aee8616c0b8e51d713e1df4eb8ec [file] [log] [blame]
package org.eclipse.nebula.widgets.nattable.core.layer.impl.header
import org.eclipse.nebula.widgets.nattable.core.layer.Layer
import org.eclipse.nebula.widgets.nattable.core.layer.LayerDataAccessor
import org.eclipse.nebula.widgets.nattable.core.layer.axis.Axis
import org.eclipse.nebula.widgets.nattable.core.layer.axis.impl.SimpleAxis
import org.eclipse.nebula.widgets.nattable.core.layer.cell.impl.DataAccessorCell
/**
* A layer of height 1 whose cell data comes from its horizontal axis.
*/
class ColumnHeaderLayer implements Layer, LayerDataAccessor {
val Axis horizontalAxis
val Axis verticalAxis
new(Axis horizontalAxis) {
this.horizontalAxis = horizontalAxis
this.verticalAxis = new SimpleAxis(1, 20)
}
// Layer interface
override getHorizontalAxis() { horizontalAxis }
override getVerticalAxis() { verticalAxis }
override getCell(int columnPosition, int rowPosition) {
new DataAccessorCell(this, columnPosition, rowPosition, this)
}
// LayerDataAccessor interface
override getCellDataValue(int columnPosition, int rowPosition) {
horizontalAxis.getSegment(columnPosition).dataValue
}
override setCellDataValue(int columnPosition, int rowPosition, Object newValue) {
horizontalAxis.getSegment(columnPosition).setDataValue(newValue)
}
}