DataLayer cornerDataLayer = new DataLayer(cornerDataProvider);
ILayer cornerLayer = new CornerLayer(cornerDataLayer, rowHeaderLayer,
columnHeaderLayer);
// build the grid layer
GridLayer gridLayer = new GridLayer(viewportLayer, columnHeaderLayer,
rowHeaderLayer, cornerLayer);
// register a CopyDataCommandHandler that also copies the headers and
// uses
// the configured IDisplayConverters
CopyDataCommandHandler copyHandler = new CopyDataCommandHandler(
selectionLayer, columnHeaderDataLayer, rowHeaderDataLayer);
copyHandler.setCopyFormattedText(true);
gridLayer.registerCommandHandler(copyHandler);
final NatTable natTable = new NatTable(gridPanel, gridLayer);
GridDataFactory.fillDefaults().grab(true, true).applyTo(natTable);
Button addColumnButton = new Button(buttonPanel, SWT.PUSH);