Revision eb916729
Added by Patrick Plitzner over 5 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/handler/PasteFeatureHandler.java | ||
---|---|---|
15 | 15 |
import org.eclipse.jface.viewers.IStructuredSelection; |
16 | 16 |
|
17 | 17 |
import eu.etaxonomy.cdm.model.description.FeatureNode; |
18 |
import eu.etaxonomy.cdm.model.description.FeatureTree; |
|
18 | 19 |
import eu.etaxonomy.taxeditor.featuretree.e4.IFeatureTreeEditor; |
19 | 20 |
import eu.etaxonomy.taxeditor.featuretree.e4.operation.AddFeatureOperation; |
20 | 21 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
... | ... | |
32 | 33 |
} |
33 | 34 |
|
34 | 35 |
ISelection clipBoardSelection = LocalSelectionTransfer.getTransfer().getSelection(); |
35 |
FeatureNode parentNode = (FeatureNode) selection.getFirstElement(); |
|
36 |
FeatureNode copiedNode = (FeatureNode) ((IStructuredSelection)clipBoardSelection).getFirstElement(); |
|
36 |
Object firstElement = selection.getFirstElement(); |
|
37 |
FeatureNode parentNode = null; |
|
38 |
if(firstElement instanceof FeatureNode){ |
|
39 |
parentNode = (FeatureNode) firstElement; |
|
40 |
} |
|
41 |
else if(firstElement instanceof FeatureTree){ |
|
42 |
parentNode = ((FeatureTree)firstElement).getRoot(); |
|
43 |
} |
|
44 |
if(parentNode!=null){ |
|
45 |
FeatureNode copiedNode = (FeatureNode) ((IStructuredSelection)clipBoardSelection).getFirstElement(); |
|
37 | 46 |
|
38 |
AddFeatureOperation operation = new AddFeatureOperation(copiedNode.getFeature(), parentNode, editor, editor); |
|
39 |
AbstractUtility.executeOperation(operation, sync); |
|
47 |
AddFeatureOperation operation = new AddFeatureOperation(copiedNode.getFeature(), parentNode, editor, editor); |
|
48 |
AbstractUtility.executeOperation(operation, sync); |
|
49 |
} |
|
40 | 50 |
} |
41 | 51 |
|
42 | 52 |
@CanExecute |
... | ... | |
46 | 56 |
ISelection transferSelection = LocalSelectionTransfer.getTransfer().getSelection(); |
47 | 57 |
canExecute = selection!=null |
48 | 58 |
&& selection.size()==1 |
49 |
&& selection.getFirstElement() instanceof FeatureNode |
|
50 | 59 |
&& transferSelection instanceof IStructuredSelection |
51 | 60 |
&& ((IStructuredSelection)transferSelection).size()==1 |
52 | 61 |
&& ((IStructuredSelection)transferSelection).getFirstElement() instanceof FeatureNode; |
Also available in: Unified diff
ref #7873 Allow paste on FeatureTrees