Hi!
Has anyone had a problem when using a combobox in a table viewer and setting SWT.BORDER | SWT.READ_ONLY style bits? My text gets trimmed to 10-11 characters, and the rest of the text is hidden although there is enough space to display it.
I've noticed that this only occurs if I set both BORDER and READ_ONLY styles, otherwise if only border or just read-only is set, then the text is displayed correctly. Also this only occurs with ComboBoxCellEditor, if I use a CCombo outside a tableViewer then it works correctly.
A simple example which produces this problem:
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout(1, false));
// TableViewer
TableViewer tableViewer = new TableViewer(composite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.V_SCROLL);
// Set up the table
Table table = tableViewer.getTable();
table.setHeaderVisible(true);
table.setLinesVisible(true);
table.setLayoutData(new GridData(GridData.FILL_BOTH));
// Table columns
TableViewerColumn column = new TableViewerColumn(tableViewer, SWT.NONE);
column.getColumn().setWidth(200);
column.getColumn().setText(NAME);
column.getColumn().setResizable(true);
column = new TableViewerColumn(tableViewer, SWT.NONE);
column.getColumn().setWidth(250);
column.getColumn().setText(LONG_TEXT_COLUMN);
column.getColumn().setResizable(true);
column.setEditingSupport(new ComboEditingSupport(tableViewer));
// Set up content/label provider
tableViewer.setContentProvider(new PersonContentProvider());
tableViewer.setLabelProvider(new PersonLabelProvider());
tableViewer.setInput(people);
And then in editing support I have:
protected CellEditor getCellEditor(Object element) {
return new ComboBoxCellEditor(viewer.getTable(),
someArray,
SWT.BORDER | SWT.READ_ONLY);
}
Any thoughts how to workaround this?