various small improvements
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/axis/viewport/ViewportAxis.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/axis/viewport/ViewportAxis.xtend
index 89e2403..bc12049 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/axis/viewport/ViewportAxis.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/axis/viewport/ViewportAxis.xtend
@@ -20,6 +20,16 @@
this.visiblePixelRange = visiblePixelRange
}
+ def getPixelOrigin() { pixelOrigin }
+
+ def void setPixelOrigin(int pixelOrigin) {
+ this.pixelOrigin = pixelOrigin
+ }
+
+ def int getOriginSegmentPosition() {
+ underlyingAxis.getSegmentPositionByPixelLocation(pixelOrigin)
+ }
+
override getSegmentCount() {
val endSegmentPosition = underlyingAxis.getSegmentPositionByPixelLocation(visiblePixelRange.endPixel)
endSegmentPosition - originSegmentPosition
@@ -42,15 +52,7 @@
}
override setSegmentDataValue(int segmentPosition, Object newValue) {
- throw new UnsupportedOperationException("TODO: auto-generated method stub")
- }
-
- def int getOriginSegmentPosition() {
- underlyingAxis.getSegmentPositionByPixelLocation(pixelOrigin)
- }
-
- def void setPixelOrigin(int pixelOrigin) {
- this.pixelOrigin = pixelOrigin
+ underlyingAxis.setSegmentDataValue(originSegmentPosition + segmentPosition, newValue)
}
}
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelArea.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelArea.xtend
index e8a93a5..bc09245 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelArea.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelArea.xtend
@@ -6,8 +6,8 @@
val PixelRange verticalPixelRange
new(int xPixel, int yPixel, int pixelWidth, int pixelHeight) {
- horizontalPixelRange = new PixelRange(xPixel, pixelWidth)
- verticalPixelRange = new PixelRange(yPixel, pixelHeight)
+ this.horizontalPixelRange = new PixelRange(xPixel, pixelWidth)
+ this.verticalPixelRange = new PixelRange(yPixel, pixelHeight)
}
def getHorizontalPixelRange() { horizontalPixelRange }
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/DummyLayer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/DummyLayer.xtend
index 0f7b493..9e26f55 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/DummyLayer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/DummyLayer.xtend
@@ -10,8 +10,8 @@
val Axis verticalAxis
new(int columnCount, int rowCount, int defaultColumnWidth, int defaultRowHeight) {
- horizontalAxis = new DefaultAxis(columnCount, defaultColumnWidth)
- verticalAxis = new DefaultAxis(rowCount, defaultRowHeight)
+ this.horizontalAxis = new DefaultAxis(columnCount, defaultColumnWidth)
+ this.verticalAxis = new DefaultAxis(rowCount, defaultRowHeight)
}
override getHorizontalAxis() { horizontalAxis }
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/composite/CompositeLayer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/composite/CompositeLayer.xtend
index f23bad0..2982ffc 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/composite/CompositeLayer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/composite/CompositeLayer.xtend
@@ -21,6 +21,10 @@
override getVerticalAxis() { verticalAxis }
override getCellPositionBounds(int columnPosition, int rowPosition) {
+ // find index of layer corresponding to given column position (& track horiz offset)
+ // find index of layer corresponding to given row position (& track vert offset)
+ // => find layer in layout
+ // call method with offset col/row positions
throw new UnsupportedOperationException("TODO: auto-generated method stub")
}
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/header/ColumnHeaderLayer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/header/ColumnHeaderLayer.xtend
index 50e35af..36674cf 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/header/ColumnHeaderLayer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/header/ColumnHeaderLayer.xtend
@@ -28,7 +28,7 @@
}
override setCellDataValue(int columnPosition, int rowPosition, Object newValue) {
- throw new UnsupportedOperationException("TODO: auto-generated method stub")
+ horizontalAxis.setSegmentDataValue(columnPosition, newValue)
}
}
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/header/RowHeaderLayer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/header/RowHeaderLayer.xtend
index b8379b6..534ff10 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/header/RowHeaderLayer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/header/RowHeaderLayer.xtend
@@ -28,7 +28,7 @@
}
override setCellDataValue(int columnPosition, int rowPosition, Object newValue) {
- throw new UnsupportedOperationException("TODO: auto-generated method stub")
+ verticalAxis.setSegmentDataValue(rowPosition, newValue)
}
}
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/viewport/ViewportLayer.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/viewport/ViewportLayer.xtend
index d469763..f69a0d9 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/viewport/ViewportLayer.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/layer/viewport/ViewportLayer.xtend
@@ -7,16 +7,16 @@
class ViewportLayer implements Layer {
- Layer underlyingLayer
+ val Layer underlyingLayer
- ViewportAxis horizontalViewportAxis
- ViewportAxis verticalViewportAxis
+ val ViewportAxis horizontalViewportAxis
+ val ViewportAxis verticalViewportAxis
new(Layer underlyingLayer, PixelArea pixelArea) {
this.underlyingLayer = underlyingLayer
- horizontalViewportAxis = new ViewportAxis(underlyingLayer.horizontalAxis, pixelArea.horizontalPixelRange)
- verticalViewportAxis = new ViewportAxis(underlyingLayer.verticalAxis, pixelArea.verticalPixelRange)
+ this.horizontalViewportAxis = new ViewportAxis(underlyingLayer.horizontalAxis, pixelArea.horizontalPixelRange)
+ this.verticalViewportAxis = new ViewportAxis(underlyingLayer.verticalAxis, pixelArea.verticalPixelRange)
}
override getHorizontalAxis() {
@@ -32,11 +32,18 @@
}
override getCellDataValue(int columnPosition, int rowPosition) {
- throw new UnsupportedOperationException("TODO: auto-generated method stub")
+ underlyingLayer.getCellDataValue(
+ horizontalViewportAxis.originSegmentPosition + columnPosition,
+ verticalViewportAxis.originSegmentPosition + rowPosition
+ )
}
override setCellDataValue(int columnPosition, int rowPosition, Object newValue) {
- throw new UnsupportedOperationException("TODO: auto-generated method stub")
+ underlyingLayer.setCellDataValue(
+ horizontalViewportAxis.originSegmentPosition + columnPosition,
+ verticalViewportAxis.originSegmentPosition + rowPosition,
+ newValue
+ )
}
}
\ No newline at end of file