TableViewer cell editor not working - SWT <p>I am trying to implement an editable table viewer in Eclipse SWT. I think I've done everything ok until now, problem is the table is not editable - nothing happens if I click on any row. </p> <p>I have registered some CellEditors with all my columns:</p> <pre><code>CellEditor[] editors = new CellEditor[columnNames.length]; editors[0] = new TextCellEditor(table); //do the above for all columns tableViewer.setCellEditors(editors); </code></pre> <p>and then I specify a cell modifier for my table:</p> <pre><code>tableViewer.setCellModifier(new CellModifier(this)); </code></pre> <p>The CellModifier class looks like this:</p> <pre><code>public class CellModifier implements ICellModifier{ private DBStructureView dbView; public CellModifier(DBStructureView view){ super(); this.dbView = view; } @Override public boolean canModify(Object element, String property) { return true; } @Override public Object getValue(Object element, String property) { int columnIndex = dbView.getColumnNames().indexOf(property); Object result = null; AttributeNode node = (AttributeNode) element; switch(columnIndex){ case 0://row id result = node.getRow(); case 1://name result = node.getName(); case 2://value result = node.getValue(); default: result = "unknown"; } System.out.println(result); return result; } @Override public void modify(Object element, String property, Object value) { int columnIndex = dbView.getColumnNames().indexOf(property); TableItem item = (TableItem) element; AttributeNode node = (AttributeNode)item.getData(); String valueString; switch(columnIndex){ case 0: valueString = ((String) value).trim(); node.setRow(valueString); break; case 1: valueString = ((String) value).trim(); node.setName(valueString); break; case 2: valueString = ((String) value).trim(); node.setValue(valueString); break; default: break; } } } </code></pre> <p>Having done all this, what can go wrong?</p> <p>Thanks in advance!</p>