package org.eclipse.swt.widgets; import javafx.beans.value.ObservableValue; import javafx.scene.control.TableColumn.CellDataFeatures; import javafx.util.Callback; import org.eclipse.swt.graphics.Image; public class TableColumn extends Item { private javafx.scene.control.TableColumn<TableItem, String> column; private int index; public TableColumn(Table parent, int style) { super(parent.getDisplay(), style); // before we call the add because we'll maybe get called immediately index = parent.getColumnCount(); parent.internal_columnAdded(this); } @Override protected void doSetImage(Image image) { // TODO Auto-generated method stub } @Override public String getText() { checkWidget(); return notNullString(column.getText()); } @Override public void setText(String string) { checkWidget(); column.setText(string); } @Override protected void createWidget() { column = new javafx.scene.control.TableColumn<TableItem, String>(); column.setCellValueFactory(new Callback<CellDataFeatures<TableItem,String>, ObservableValue<String>>() { @Override public ObservableValue<String> call(CellDataFeatures<TableItem, String> param) { return param.getValue().internal_getText(index); } }); } @Override public javafx.scene.control.TableColumn<TableItem, String> internal_getNativeObject() { return column; } }