I've got a JFace TableViewer with a single column. I want to be able to databind an EMF list of strings to this table, and enable editing support.
I'm using EMF to get an IObservableList. In the code below:
- businessObject is IAssociation from my generated EMF model
- I'm using graphiti, so the editingDomain is getDiagramEditor().getEditingDomain()
- The Comments attribute of Association is of type EList<String>
...snip...
tableViewer.setContentProvider(new ObservableListContentProvider());
...snip...
IObservableList list = EMFEditObservables.observeList(getDiagramEditor().getEditingDomain(),businessObject,SimpleMappingPackage.eINSTANCE.getAssociation_Comments());
...snip...
tableViewer.setInput(list);
In my EditingSupport class I'm using a TextCellEditor, and trying to update the value from it:
@Override
protected void setValue(Object element, Object value) {
element = String.valueOf(value)
}
The 'value' does not seem to be retained. This makes sense, since 'element' comes from a getter. In
EditingSupport.saveCellEditorValue(CellEditor cellEditor, ViewerCell cell)
setValue(cell.getElement(), value);
How do I set 'element' to 'value' when they are both strings? Or should I be doing this some other way?