package org.hpccsystems.saltui.concept.table; import org.eclipse.jface.viewers.ICellModifier; import org.eclipse.swt.widgets.TableItem; public class ConceptsCellModifier implements ICellModifier { private ConceptsTable objConceptsTable; /** * Constructor * @param TableViewerExample an instance of a TableViewerExample */ public ConceptsCellModifier(ConceptsTable objConceptsTable) { super(); this.objConceptsTable = objConceptsTable; } @Override public boolean canModify(Object element, String property) { return true; } @Override public Object getValue(Object element, String property) { // Find the index of the column int columnIndex = objConceptsTable.getColumnNames().indexOf(property); Object result = null; ConceptsRecord record = (ConceptsRecord) element; switch (columnIndex) { case 0: // CHILDREN_COLUMN result = record.getChildren(); break; case 1: // NON_NULL_COLUMN result = new Boolean(record.isNonNull()); break; default: result = ""; } return result; } @Override public void modify(Object element, String property, Object value) { // Find the index of the column int columnIndex = objConceptsTable.getColumnNames().indexOf(property); TableItem item = (TableItem) element; ConceptsRecord record = (ConceptsRecord) item.getData(); String valueString; switch (columnIndex) { case 0: // CHILDREN_COLUMN valueString = ((String) value).trim(); record.setChildren(valueString); break; case 1: // NON_NULL_COLUMN if(item.getChecked() == false) { record.setNonNull(item.getChecked()); } else { record.setNonNull(((Boolean) value).booleanValue()); } break; default: } objConceptsTable.getConceptsList().conceptChanged(record); } }