Project

General

Profile

Download (1.68 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.editor.view.media.handler;
2

    
3
import org.eclipse.core.commands.ExecutionEvent;
4
import org.eclipse.core.commands.common.NotDefinedException;
5

    
6
import eu.etaxonomy.cdm.model.description.DescriptionBase;
7
import eu.etaxonomy.cdm.model.media.Media;
8
import eu.etaxonomy.taxeditor.editor.EditorUtil;
9
import eu.etaxonomy.taxeditor.editor.view.media.operation.AddExistingMediaToImageGalleryOperation;
10
import eu.etaxonomy.taxeditor.model.AbstractUtility;
11
import eu.etaxonomy.taxeditor.model.MessagingUtils;
12
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
13
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
14
import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
15

    
16
public class AddExistingMediaHandler extends CreateMediaHandler {
17

    
18
    /**
19
     * @param event
20
     * @param postOperationEnabled
21
     * @param description
22
     */
23
    @Override
24
    protected void executeOperation(ExecutionEvent event, IPostOperationEnabled postOperationEnabled,
25
            DescriptionBase description) {
26
        AbstractPostOperation operation = null;
27
        try {
28
            //select media
29
            Media media = MediaSelectionDialog.select(AbstractUtility.getShell(), null, null);
30
            if(media!=null){
31
                // TODO use undo context specific to editor
32
                operation = new AddExistingMediaToImageGalleryOperation(media, event.getCommand().getName(),
33
                        EditorUtil.getUndoContext(), description, postOperationEnabled);
34
                AbstractUtility.executeOperation(operation);
35
            }
36
        } catch (NotDefinedException e) {
37
            MessagingUtils.warn(getClass(), "Command name not set.");
38
        }
39
    }
40

    
41
}
(1-1/6)