4 package eu
.etaxonomy
.taxeditor
.editor
.view
.media
.handler
;
6 import javax
.inject
.Named
;
8 import org
.eclipse
.e4
.core
.di
.annotations
.Execute
;
9 import org
.eclipse
.e4
.core
.di
.annotations
.Optional
;
10 import org
.eclipse
.e4
.ui
.model
.application
.ui
.basic
.MPart
;
11 import org
.eclipse
.e4
.ui
.model
.application
.ui
.menu
.MMenuItem
;
12 import org
.eclipse
.e4
.ui
.services
.IServiceConstants
;
14 import eu
.etaxonomy
.cdm
.model
.description
.DescriptionBase
;
15 import eu
.etaxonomy
.taxeditor
.editor
.EditorUtil
;
16 import eu
.etaxonomy
.taxeditor
.editor
.view
.media
.e4
.MediaViewPartE4
;
17 import eu
.etaxonomy
.taxeditor
.editor
.view
.media
.operation
.AddMediaToImageGalleryOperation
;
18 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
19 import eu
.etaxonomy
.taxeditor
.operation
.AbstractPostOperation
;
27 public class CreateMediaHandler
{
30 public Object
execute(@Named(IServiceConstants
.ACTIVE_PART
) MPart activePart
,
31 @Optional@Named(IServiceConstants
.ACTIVE_SELECTION
) DescriptionBase description
, MMenuItem menuItem
) {
33 MediaViewPartE4 mediaView
= (MediaViewPartE4
) activePart
.getObject();
35 if(description
!= null){
36 AbstractPostOperation operation
= null;
37 // TODO use undo context specific to editor
38 operation
= new AddMediaToImageGalleryOperation(menuItem
.getLocalizedLabel(),
39 EditorUtil
.getUndoContext(), description
, mediaView
);
40 AbstractUtility
.executeOperation(operation
);