X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.browsing.ui.nattable%2Fsrc%2Forg%2Fsimantics%2Fbrowsing%2Fui%2Fnattable%2FGEColumnHeaderDataProvider.java;fp=bundles%2Forg.simantics.browsing.ui.nattable%2Fsrc%2Forg%2Fsimantics%2Fbrowsing%2Fui%2Fnattable%2FGEColumnHeaderDataProvider.java;h=c16f29a45100722ff6e52f35d54392fb7165b8c9;hb=96bb7ef9cbe42d82eb58306d8f9b62392cc29ba8;hp=0000000000000000000000000000000000000000;hpb=ae5bb63c5c88f6569518fed2a24df86fbd0570ff;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.browsing.ui.nattable/src/org/simantics/browsing/ui/nattable/GEColumnHeaderDataProvider.java b/bundles/org.simantics.browsing.ui.nattable/src/org/simantics/browsing/ui/nattable/GEColumnHeaderDataProvider.java new file mode 100644 index 000000000..c16f29a45 --- /dev/null +++ b/bundles/org.simantics.browsing.ui.nattable/src/org/simantics/browsing/ui/nattable/GEColumnHeaderDataProvider.java @@ -0,0 +1,50 @@ +package org.simantics.browsing.ui.nattable; + +import org.eclipse.nebula.widgets.nattable.data.IDataProvider; +import org.eclipse.nebula.widgets.nattable.layer.DataLayer; + +public class GEColumnHeaderDataProvider implements IDataProvider { + + NatTableGraphExplorer ge; + DataLayer dataLayer; + + public GEColumnHeaderDataProvider(NatTableGraphExplorer ge, DataLayer dataLayer) { + this.ge = ge; + this.dataLayer = dataLayer; + } + + @Override + public int getColumnCount() { + return ge.getColumns().length; + } + + @Override + public int getRowCount() { + return 1; + } + + @Override + public Object getDataValue(int columnIndex, int rowIndex) { + if (columnIndex < 0 || rowIndex < 0) + return null; + return ge.getColumns()[columnIndex].getLabel(); + } + + @Override + public void setDataValue(int columnIndex, int rowIndex, Object newValue) { + throw new java.lang.UnsupportedOperationException(); + } + + public void updateColumnSizes() { + for (int i = 0; i < getColumnCount(); i++) { + int w = ge.getColumns()[i].getWidth(); + if (w > 0) + dataLayer.setColumnWidthByPosition(i, w); + } + } + + public DataLayer getDataLayer() { + return dataLayer; + } + +}