Revision a4063890
Added by Patrick Plitzner over 5 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/character/CharacterDragListener.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.character; |
10 | 10 |
|
11 |
import java.util.List;
|
|
11 |
import java.util.Collection;
|
|
12 | 12 |
|
13 |
import org.eclipse.jface.util.LocalSelectionTransfer; |
|
14 |
import org.eclipse.jface.viewers.StructuredSelection; |
|
13 |
import org.eclipse.jface.viewers.IStructuredSelection; |
|
15 | 14 |
import org.eclipse.jface.viewers.TreeSelection; |
16 | 15 |
import org.eclipse.jface.viewers.TreeViewer; |
17 | 16 |
import org.eclipse.swt.dnd.DragSourceEvent; |
18 | 17 |
|
19 | 18 |
import eu.etaxonomy.cdm.model.description.Character; |
19 |
import eu.etaxonomy.cdm.model.description.FeatureNode; |
|
20 |
import eu.etaxonomy.taxeditor.featuretree.CharacterTransfer; |
|
20 | 21 |
import eu.etaxonomy.taxeditor.featuretree.e4.FeatureNodeDragListener; |
21 | 22 |
|
22 | 23 |
/** |
... | ... | |
42 | 43 |
if(structureSelection!=null && propertySelection!=null |
43 | 44 |
&& !structureSelection.isEmpty() && !propertySelection.isEmpty()){ |
44 | 45 |
//create all possible characters |
45 |
List<Character> characters = CharacterEditor.createCharacters(structureSelection, propertySelection);
|
|
46 |
Collection<Character> characters = CharacterEditor.createCharacters(structureSelection, propertySelection);
|
|
46 | 47 |
|
47 |
LocalSelectionTransfer.getTransfer().setSelection(new StructuredSelection(characters)); |
|
48 |
if (CharacterTransfer.getInstance().isSupportedType(event.dataType)) { |
|
49 |
event.data = characters; |
|
50 |
} |
|
48 | 51 |
} |
49 | 52 |
} |
50 | 53 |
|
54 |
/** |
|
55 |
* Method declared on DragSourceListener |
|
56 |
*/ |
|
57 |
@Override |
|
58 |
public void dragStart(DragSourceEvent event) { |
|
59 |
event.doit = |
|
60 |
!structureViewer.getSelection().isEmpty() |
|
61 |
&& !propertyViewer.getSelection().isEmpty() |
|
62 |
&& ((IStructuredSelection) structureViewer.getSelection()).toList() |
|
63 |
.stream().allMatch(element -> element instanceof FeatureNode) |
|
64 |
&& ((IStructuredSelection) propertyViewer.getSelection()).toList() |
|
65 |
.stream().allMatch(element -> element instanceof FeatureNode); |
|
66 |
} |
|
67 |
|
|
51 | 68 |
} |
Also available in: Unified diff
ref #7923 Use character transfer instead of LocalSelectionTransfer