Я хочу перетащить & сбрасывать узлы в TreeViewer
, чтобы переупорядочить их. Узлы в моем дереве обертывают IJavaElement
или IFile
. Моя проблема заключается в том, что ни одна из моих попыток поместить эти значения узлов в событие drag-события не будет доступна после выполнения события переадресации (= null
). По-видимому, у меня что-то не так с этим TransferHandles
вы должны использовать или создавать.Java SWT: Перетаскивание
@Override
public void dragSetData(DragSourceEvent event) {
IStructuredSelection selections = treeViewer.getSelections();
IBookmark dragNode = (IBookmark) selections.getFirstElement();
//There is only 1 transfer handle as return
event.dataType = FileTransfer.getInstance().getSupportedTypes()[0];
event.data = dragNode.getValue();//<-- Returns my IFile
Он должен работать таким образом, но ничто не доходит до моего слушателя. Кто-нибудь знает, что я делаю неправильно?
Edit:
Есть ли способ, чтобы поместить текущий экземпляр объекта, который тащили в дрэг-событие? Я только работаю в Eclipse в своем собственном представлении для этой операции. И меня больше интересует экземпляр объекта, который удаляется, а не только значение узла.