2 * Copyright (C) 2015 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.taxeditor
.molecular
.handler
;
12 import org
.eclipse
.core
.commands
.AbstractHandler
;
13 import org
.eclipse
.core
.commands
.ExecutionEvent
;
14 import org
.eclipse
.core
.commands
.ExecutionException
;
15 import org
.eclipse
.ui
.IEditorPart
;
17 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
18 import eu
.etaxonomy
.taxeditor
.molecular
.editor
.AlignmentEditor
;
24 * Abstract implementation for all handlers triggering actions in an active instance of
25 * {@link AlignmentEditor}.
30 public abstract class AbstractAlignmentEditorHandler
extends AbstractHandler
{
31 public static AlignmentEditor
getActiveAlignmentEditor() {
32 IEditorPart activeEditor
= AbstractUtility
.getActiveEditor();
33 if (activeEditor
instanceof AlignmentEditor
) {
34 return (AlignmentEditor
)activeEditor
;
43 public Object
execute(ExecutionEvent event
) throws ExecutionException
{
44 AlignmentEditor editor
= getActiveAlignmentEditor();
46 doExecute(event
, editor
);
52 protected abstract void doExecute(ExecutionEvent event
, AlignmentEditor editor
) throws ExecutionException
;