sprucing up geometry classes
diff --git a/NatTable/.classpath b/NatTable/.classpath
index 38ec603..8f27544 100644
--- a/NatTable/.classpath
+++ b/NatTable/.classpath
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="xtend-gen"/>
 	<classpathentry kind="src" output="bin_test" path="test"/>
+	<classpathentry kind="src" path="xtend-gen"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="con" path="aQute.bnd.classpath.container"/>
 	<classpathentry kind="output" path="bin"/>
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 1bdd117..dd37e1c 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
@@ -11,17 +11,17 @@
 	 * Indicates the visible portion of the axis. Note that the pixel locations returned by this ClientDimensionProvider
 	 * must be in terms of underlying axis pixel coordinates.
 	 */
-	val PixelRange visibleDimension
+	val PixelRange visiblePixelRange
 	
 	int pixelOrigin
 	
-	new(Axis underlyingAxis, PixelRange visibleDimension) {
+	new(Axis underlyingAxis, PixelRange visiblePixelRange) {
 		this.underlyingAxis = underlyingAxis
-		this.visibleDimension = visibleDimension
+		this.visiblePixelRange = visiblePixelRange
 	}
 	
 	override getSegmentCount() {
-		val endSegmentPosition = underlyingAxis.getSegmentPositionByPixelLocation(visibleDimension.endPixel)
+		val endSegmentPosition = underlyingAxis.getSegmentPositionByPixelLocation(visiblePixelRange.endPixel)
 		endSegmentPosition - originSegmentPosition
 	}
 	
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
new file mode 100644
index 0000000..e8a93a5
--- /dev/null
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelArea.xtend
@@ -0,0 +1,20 @@
+package org.eclipse.nebula.widgets.nattable.core.geometry
+
+class PixelArea {
+	
+	val PixelRange horizontalPixelRange
+	val PixelRange verticalPixelRange
+	
+	new(int xPixel, int yPixel, int pixelWidth, int pixelHeight) {
+		horizontalPixelRange = new PixelRange(xPixel, pixelWidth)
+		verticalPixelRange = new PixelRange(yPixel, pixelHeight)
+	}
+	
+	def getHorizontalPixelRange() { horizontalPixelRange }
+	def getVerticalPixelRange() { verticalPixelRange }
+	
+	override toString() {
+		'''[«class.name» x: «horizontalPixelRange.startPixel», y: «verticalPixelRange.startPixel», width: «horizontalPixelRange.pixelSize», height: «verticalPixelRange.pixelSize»]'''
+	}
+	
+}
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelRange.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelRange.xtend
index 3c3607c..4913d4a 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelRange.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelRange.xtend
@@ -1,8 +1,24 @@
 package org.eclipse.nebula.widgets.nattable.core.geometry
 
-@Data
 class PixelRange {
-	int startPixel
-	int endPixel
-	int pixelSize
+	
+	val int startPixel
+	val int endPixel
+	val int pixelSize
+	
+	new(int startPixel, int pixelSize) {
+		this.startPixel = startPixel
+		this.pixelSize = pixelSize
+		
+		this.endPixel = startPixel + pixelSize
+	}
+	
+	def getStartPixel() { startPixel }
+	def getEndPixel() { endPixel }
+	def getPixelSize() { pixelSize }
+	
+	override toString() {
+		'''[«class.name» startPixel: «startPixel», endPixel: «endPixel», size: «pixelSize»]'''
+	}
+	
 }
\ No newline at end of file
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelRectangle.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelRectangle.xtend
index a999d0d..5d5062c 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelRectangle.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PixelRectangle.xtend
@@ -18,6 +18,6 @@
 	def getPixelHeight() { pixelHeight }
 	
 	override toString() {
-		'''[«class.name» x: «pixelOrigin.x» y: «pixelOrigin.y» width: «pixelWidth» height: «pixelHeight»'''
+		'''[«class.name» x: «pixelOrigin.x», y: «pixelOrigin.y», width: «pixelWidth», height: «pixelHeight»]'''
 	}
 }
diff --git a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PositionRectangle.xtend b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PositionRectangle.xtend
index a7d7b06..9680f69 100644
--- a/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PositionRectangle.xtend
+++ b/NatTable/src/org/eclipse/nebula/widgets/nattable/core/geometry/PositionRectangle.xtend
@@ -18,7 +18,7 @@
 	def getPositionHeight() { positionHeight }
 	
 	override toString() {
-		'''[«class.name» column: «positionOrigin.columnPosition» row: «positionOrigin.rowPosition» width: «positionWidth» height: «positionHeight»'''
+		'''[«class.name» column: «positionOrigin.columnPosition», row: «positionOrigin.rowPosition», width: «positionWidth», height: «positionHeight»]'''
 	}
 	
 }