package info.limpet.stackedcharts.ui.editor.drop; import info.limpet.stackedcharts.model.Dataset; import info.limpet.stackedcharts.model.DependentAxis; import info.limpet.stackedcharts.ui.editor.commands.AddDatasetsToAxisCommand; import info.limpet.stackedcharts.ui.editor.parts.AxisEditPart; import java.util.List; import org.eclipse.gef.EditPart; import org.eclipse.gef.GraphicalViewer; import org.eclipse.gef.commands.Command; import org.eclipse.gef.editparts.AbstractGraphicalEditPart; import org.eclipse.swt.dnd.DropTargetEvent; public class DatasetToAxisDropTargetListener extends DatasetDropTargetListener { public DatasetToAxisDropTargetListener(GraphicalViewer viewer) { super(viewer); } @Override public boolean appliesTo(DropTargetEvent event) { EditPart findObjectAt = findPart(event); return findObjectAt instanceof AxisEditPart; } protected Command createCommand(AbstractGraphicalEditPart axis, List<Dataset> datasets) { AddDatasetsToAxisCommand addDatasetsToAxisCommand = new AddDatasetsToAxisCommand((DependentAxis) axis.getModel(), datasets.toArray(new Dataset[datasets.size()])); return addDatasetsToAxisCommand; } }