| 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) |
| } |
| |
| } |