package org.csstudio.sds.ui.internal.editor.dnd; import java.util.List; import org.csstudio.csdata.ProcessVariable; import org.csstudio.platform.model.pvs.IProcessVariableAddress; import org.csstudio.ui.util.dnd.SerializableItemTransfer; import org.eclipse.gef.EditPartViewer; /** * Drag source listener for SDS that provides a single {@link ProcessVariable}. * * @author swende * */ public class ProcessVariableDragSourceListener extends AbstractDragSourceListener<ProcessVariable> { public ProcessVariableDragSourceListener(EditPartViewer viewer) { super(viewer, SerializableItemTransfer.getTransfer(ProcessVariable.class)); } @Override protected ProcessVariable convert(IProcessVariableAddress mainAddress, List<IProcessVariableAddress> allAddresses) { return mainAddress != null ? new ProcessVariable(mainAddress.getProperty()) : null; } }