--- /dev/null
+package org.simantics.browsing.ui.nattable;\r
+\r
+import org.eclipse.nebula.widgets.nattable.data.IDataProvider;\r
+import org.eclipse.nebula.widgets.nattable.layer.DataLayer;\r
+\r
+public class GEColumnHeaderDataProvider implements IDataProvider {\r
+ \r
+ NatTableGraphExplorer ge;\r
+ DataLayer dataLayer;\r
+ \r
+ public GEColumnHeaderDataProvider(NatTableGraphExplorer ge, DataLayer dataLayer) {\r
+ this.ge = ge;\r
+ this.dataLayer = dataLayer;\r
+ }\r
+ \r
+ @Override\r
+ public int getColumnCount() {\r
+ return ge.getColumns().length;\r
+ }\r
+ \r
+ @Override\r
+ public int getRowCount() {\r
+ return 1;\r
+ }\r
+ \r
+ @Override\r
+ public Object getDataValue(int columnIndex, int rowIndex) {\r
+ if (columnIndex < 0 || rowIndex < 0)\r
+ return null;\r
+ return ge.getColumns()[columnIndex].getLabel();\r
+ }\r
+ \r
+ @Override\r
+ public void setDataValue(int columnIndex, int rowIndex, Object newValue) {\r
+ throw new java.lang.UnsupportedOperationException();\r
+ }\r
+ \r
+ public void updateColumnSizes() {\r
+ for (int i = 0; i < getColumnCount(); i++) {\r
+ int w = ge.getColumns()[i].getWidth();\r
+ if (w > 0)\r
+ dataLayer.setColumnWidthByPosition(i, w);\r
+ }\r
+ }\r
+ \r
+ public DataLayer getDataLayer() {\r
+ return dataLayer;\r
+ }\r
+\r
+}\r