debugging scroll events/redraw
diff --git a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/SWTNatTable.xtend b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/SWTNatTable.xtend
index 70969fc..924ed0b 100644
--- a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/SWTNatTable.xtend
+++ b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/SWTNatTable.xtend
@@ -42,7 +42,10 @@
layer.addEventListener([ event | redraw ])
// Paint listener
- addPaintListener([ event | paintLayer(event.gc) ])
+ addPaintListener([ event |
+ println('''SWTNatTable paintListener «event»''')
+ paintLayer(event.gc)
+ ])
// Init mode switcher
modeSwitcher.registerMode(Mode::NORMAL, getInstance(typeof(NormalMode)))
diff --git a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
index c9a57bf..63a7088 100644
--- a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
+++ b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/SWTViewportLayerPainter.xtend
@@ -33,21 +33,17 @@
}
def private createViewportCanvas(ViewportLayer viewportLayer, SWTGraphicsContext swtGC) {
+ // Canvas
val viewportCanvas = new Canvas(swtGC.SWTComposite, SWT::NO_BACKGROUND.bitwiseOr(SWT::DOUBLE_BUFFERED).bitwiseOr(SWT::H_SCROLL).bitwiseOr(SWT::V_SCROLL))
viewportLayerToCanvasMap.put(viewportLayer, viewportCanvas)
swtGC.modeSwitcher.listenTo(viewportCanvas)
- // Dispose listener
- viewportCanvas.addDisposeListener([ viewportLayerToCanvasMap.remove(viewportLayer) ])
-
// Paint listener
viewportCanvas.addPaintListener([ event |
val swtBounds = viewportCanvas.bounds
defaultPainter.paintLayer(viewportLayer, new PixelArea(swtBounds.width, swtBounds.height), new SWTGraphicsContext(event.gc, viewportCanvas, swtGC.modeSwitcher))
])
- viewportLayer.addEventListener([ event | viewportCanvas.redraw ])
-
// ScrollBar handlers
val horizontalScrollBarHandler = new ScrollBarHandler(viewportCanvas.horizontalBar, viewportLayer.horizontalAxis)
horizontalScrollBarHandler.scrollBarVisible = viewportLayer.horizontalScrollBarVisible
@@ -70,6 +66,15 @@
verticalScrollBarHandler.recalculateScrollBarSize
])
+ // Dispose listener
+ viewportCanvas.addDisposeListener([ viewportLayerToCanvasMap.remove(viewportLayer) ])
+
+ // ViewportLayer
+ viewportLayer.addEventListener([ event |
+ println('''ViewportLayer eventListener «event»''')
+ viewportCanvas.redraw
+ ])
+
viewportCanvas
}
diff --git a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
index 60058bb..f4b778e 100644
--- a/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
+++ b/org.eclipse.nebula.widgets.nattable.renderer.swt/src/org/eclipse/nebula/widgets/nattable/renderer/swt/layer/viewport/ScrollBarHandler.xtend
@@ -50,6 +50,7 @@
* SWT event handler
*/
override handleEvent(Event event) {
+ println('''ScrollBarHandler handleEvent «event»''')
updateViewportOrigin
}