Project

General

Profile

« Previous | Next » 

Revision 86fcba21

Added by Patrick Plitzner over 5 years ago

ref #7923 Extend drag & drop action for creating characters

View differences:

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 org.eclipse.jface.viewers.IStructuredSelection;
11
import java.util.List;
12

  
13
import org.eclipse.jface.util.LocalSelectionTransfer;
14
import org.eclipse.jface.viewers.StructuredSelection;
15
import org.eclipse.jface.viewers.TreeSelection;
12 16
import org.eclipse.jface.viewers.TreeViewer;
13 17
import org.eclipse.swt.dnd.DragSourceEvent;
14 18

  
15
import eu.etaxonomy.cdm.model.description.FeatureNode;
16
import eu.etaxonomy.taxeditor.featuretree.FeatureNodeTransfer;
19
import eu.etaxonomy.cdm.model.description.Character;
17 20
import eu.etaxonomy.taxeditor.featuretree.e4.FeatureNodeDragListener;
18 21

  
19 22
/**
......
26 29
    private TreeViewer structureViewer;
27 30
    private TreeViewer propertyViewer;
28 31

  
29
    /**
30
     * @param propertyViewer
31
     */
32 32
    public CharacterDragListener(TreeViewer structureViewer, TreeViewer propertyViewer) {
33 33
        super(propertyViewer);
34 34
        this.structureViewer = structureViewer;
35 35
        this.propertyViewer = propertyViewer;
36 36
    }
37 37

  
38
    /**
39
     * {@inheritDoc}
40
     */
41 38
    @Override
42 39
    public void dragSetData(DragSourceEvent event) {
43
        FeatureNode structure = (FeatureNode) ((IStructuredSelection) structureViewer.getSelection()).getFirstElement();
44
        FeatureNode property = (FeatureNode) ((IStructuredSelection) propertyViewer.getSelection()).getFirstElement();
45
        FeatureNode[] character = new FeatureNode[2];
46
        character[0] = structure;
47
        character[1] = property;
48
        if (FeatureNodeTransfer.getInstance().isSupportedType(event.dataType)) {
49
            event.data = character;
40
        TreeSelection structureSelection = (TreeSelection) structureViewer.getSelection();
41
        TreeSelection propertySelection = (TreeSelection) propertyViewer.getSelection();
42
        if(structureSelection!=null && propertySelection!=null
43
                && !structureSelection.isEmpty() && !propertySelection.isEmpty()){
44
            //create all possible characters
45
            List<Character> characters = CharacterEditor.createCharacters(structureSelection, propertySelection);
46

  
47
            LocalSelectionTransfer.getTransfer().setSelection(new StructuredSelection(characters));
50 48
        }
51 49
    }
52 50

  

Also available in: Unified diff