Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDirk Fauth2022-12-19 11:01:10 +0000
committerDirk Fauth2022-12-19 11:01:10 +0000
commit92613cd8eb2cdb9df18c02aa1e7ead3a2aeeb79c (patch)
treef16ae932960c8656854d5f64efaa845c105f9c84
parent4b2ae5070a42c18b81fe2a4439dcca87577acf89 (diff)
downloadorg.eclipse.nebula.widgets.nattable-92613cd8eb2cdb9df18c02aa1e7ead3a2aeeb79c.tar.gz
org.eclipse.nebula.widgets.nattable-92613cd8eb2cdb9df18c02aa1e7ead3a2aeeb79c.tar.xz
org.eclipse.nebula.widgets.nattable-92613cd8eb2cdb9df18c02aa1e7ead3a2aeeb79c.zip
Bug 581248 - CellVisualUpdateEvent incorrect for header regions when
scrolled Signed-off-by: Dirk Fauth <dirk.fauth@googlemail.com> Change-Id: I866d868d36eb105fd8f8d4fe6deb99758276841f
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/event/CellVisualUpdateEvent.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/event/CellVisualUpdateEvent.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/event/CellVisualUpdateEvent.java
index e078f4f2..255bcb38 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/event/CellVisualUpdateEvent.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/layer/event/CellVisualUpdateEvent.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2013, 2020 Dirk Fauth and others.
+ * Copyright (c) 2013, 2022 Dirk Fauth and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
@@ -15,6 +15,7 @@ package org.eclipse.nebula.widgets.nattable.layer.event;
import org.eclipse.nebula.widgets.nattable.grid.layer.DimensionallyDependentLayer;
import org.eclipse.nebula.widgets.nattable.layer.ILayer;
import org.eclipse.nebula.widgets.nattable.layer.cell.ILayerCell;
+import org.eclipse.nebula.widgets.nattable.viewport.ViewportLayer;
/**
* Specialization of the CellVisualChangeEvent. The only difference is the
@@ -66,6 +67,17 @@ public class CellVisualUpdateEvent extends CellVisualChangeEvent {
if (!(localLayer instanceof DimensionallyDependentLayer)) {
columnPos = localLayer.underlyingToLocalColumnPosition(getLayer(), this.columnPosition);
rowPos = localLayer.underlyingToLocalRowPosition(getLayer(), this.rowPosition);
+ } else {
+ DimensionallyDependentLayer ddl = (DimensionallyDependentLayer) localLayer;
+
+ if (ddl.getHorizontalLayerDependency() instanceof ViewportLayer) {
+ int columnIndex = this.layer.getColumnIndexByPosition(this.columnPosition);
+ columnPos = ((ViewportLayer) ddl.getHorizontalLayerDependency()).getColumnPositionByIndex(columnIndex);
+ }
+ if (ddl.getVerticalLayerDependency() instanceof ViewportLayer) {
+ int rowIndex = this.layer.getRowIndexByPosition(this.rowPosition);
+ rowPos = ((ViewportLayer) ddl.getVerticalLayerDependency()).getRowPositionByIndex(rowIndex);
+ }
}
if (columnPos < 0 || rowPos < 0) {

Back to the top