blob: 1a20212e8669c1284af89d9500726eeeafafc1d5 [file] [log] [blame]
/**
* <copyright>
*
* Copyright (c) 2015 itemis and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
*
* Contributors:
* itemis - Initial API and implementation
*
* </copyright>
*/
package org.eclipse.sphinx.emf.workspace.ui.internal.views;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.util.LocalSelectionTransfer;
import org.eclipse.jface.util.TransferDropTargetListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerDropAdapter;
import org.eclipse.sphinx.emf.workspace.ui.views.ReferencesView;
import org.eclipse.swt.dnd.DropTargetEvent;
import org.eclipse.swt.dnd.Transfer;
import org.eclipse.swt.dnd.TransferData;
public class ReferencesHierarchyTransferDropAdapter extends ViewerDropAdapter implements TransferDropTargetListener {
private ReferencesView referencesView;
public ReferencesHierarchyTransferDropAdapter(ReferencesView referencesView, Viewer viewer) {
super(viewer);
setExpandEnabled(false);
setFeedbackEnabled(false);
this.referencesView = referencesView;
}
@Override
public Transfer getTransfer() {
return LocalSelectionTransfer.getTransfer();
}
@Override
public boolean isEnabled(DropTargetEvent event) {
System.out.println("#isEnabled");
Object target = event.item != null ? event.item.getData() : null;
if (target == null) {
return false;
}
System.out.println(target.toString());
return target instanceof EObject;
}
@Override
public boolean performDrop(Object data) {
if (data instanceof IStructuredSelection) {
referencesView.setViewInput(((IStructuredSelection) data).getFirstElement());
return true;
}
return false;
}
@Override
public boolean validateDrop(Object target, int operation, TransferData transferType) {
System.out.println("#validateDrop");
System.out.println(target);
// TODO Auto-generated method stub
return target instanceof EObject;
}
}