1 package eu
.etaxonomy
.taxeditor
.editor
.key
.polytomous
.e4
.handler
;
3 import javax
.inject
.Named
;
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
;
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
.RefreshNodeNumberingOperation
;
17 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
18 import eu
.etaxonomy
.taxeditor
.operation
.AbstractPostOperation
;
20 public class RefreshNodeNumberingHandlerE4
{
23 public void execute(@Named(IServiceConstants
.ACTIVE_PART
)MPart activePart
,
24 @Named(IServiceConstants
.ACTIVE_SELECTION
)IStructuredSelection selection
,
25 MHandledMenuItem menuItem
,
28 PolytomousKeyListEditorE4 editor
= (PolytomousKeyListEditorE4
) activePart
.getObject();
30 if (selection
.getFirstElement() instanceof PolytomousKeyNode
) {
31 String label
= menuItem
.getLocalizedLabel();
32 IUndoContext undoContext
= EditorUtil
.getUndoContext();
34 PolytomousKeyNode keyNode
= (PolytomousKeyNode
) selection
37 AbstractPostOperation operation
= new RefreshNodeNumberingOperation(
38 label
, undoContext
, keyNode
, editor
);
39 AbstractUtility
.executeOperation(operation
, sync
);