package org.eclipse.papyrus.uml.table.widget.celleditors.editors;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.facet.infra.common.core.internal.utils.ModelUtils;
import org.eclipse.emf.facet.widgets.celleditors.IListener;
import org.eclipse.emf.facet.widgets.celleditors.IModelCellEditHandler;
import org.eclipse.emf.facet.widgets.celleditors.IModelCellEditor;
import org.eclipse.papyrus.uml.table.widget.celleditors.composite.UnaryReferencePapyrusCellEditorComposite;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
public class UnaryReferencePapyrusCellEditor implements IModelCellEditor {
private UnaryReferencePapyrusCellEditorComposite cellEditorComposite;
public Control activateCell(final Composite parent, final Object originalValue,
final IModelCellEditHandler editHandler, final EStructuralFeature feature,
final EObject source) {
List<EObject> list = ModelUtils.computeAssignableElements(feature, source);
this.cellEditorComposite = new UnaryReferencePapyrusCellEditorComposite(parent, list, source, feature);
this.cellEditorComposite.addCommitListener(new IListener() {
public void handleEvent() {
editHandler.commit();
}
});
return this.cellEditorComposite;
}
public Object getValue() {
return this.cellEditorComposite.getValue();
}
}