Project

General

Profile

Download (1.75 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.editor.key.polytomous.e4.handler;
2

    
3
import javax.inject.Named;
4

    
5
import org.eclipse.core.commands.operations.IUndoContext;
6
import org.eclipse.e4.core.di.annotations.Execute;
7
import org.eclipse.e4.ui.di.UISynchronize;
8
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
9
import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
10
import org.eclipse.e4.ui.services.IServiceConstants;
11
import org.eclipse.jface.viewers.IStructuredSelection;
12

    
13
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
14
import eu.etaxonomy.taxeditor.editor.EditorUtil;
15
import eu.etaxonomy.taxeditor.editor.key.polytomous.e4.PolytomousKeyListEditorE4;
16
import eu.etaxonomy.taxeditor.editor.key.polytomous.operation.CreateNodeOperation;
17
import eu.etaxonomy.taxeditor.model.AbstractUtility;
18
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
19

    
20
/**
21
 * Handler responsible for creating sibling nodes of Polytomous Key Nodes
22
 *
23
 * @author c.mathew
24
 *
25
 */
26

    
27
public class CreateSiblingNodeHandlerE4 {
28

    
29
    @Execute
30
    public void execute(@Named(IServiceConstants.ACTIVE_PART) MPart activePart,
31
            @Named(IServiceConstants.ACTIVE_SELECTION) IStructuredSelection selection, MHandledMenuItem menuItem,
32
            UISynchronize sync) {
33

    
34
        PolytomousKeyListEditorE4 editor = (PolytomousKeyListEditorE4) activePart.getObject();
35

    
36
            String label = menuItem.getLocalizedLabel();
37
            IUndoContext undoContext = EditorUtil.getUndoContext();
38

    
39
            PolytomousKeyNode keyNode = (PolytomousKeyNode) selection.getFirstElement();
40

    
41
            AbstractPostOperation operation = new CreateNodeOperation(label, undoContext, keyNode.getParent(),
42
                    editor);
43
            AbstractUtility.executeOperation(operation, sync);
44
        }
45
}
(2-2/6)