import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Display;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
-import eu.etaxonomy.taxeditor.editor.Page;
import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
-import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;
import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.MoveDescriptionToOtherTaxonOperation;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
private MoveDescriptionToOtherTaxonOperation operation;
private UUID newAcceptedTaxonNodeUuid;
- private TaxonNameEditor editor;
+ private MultiPageTaxonEditor editor;
/* (non-Javadoc)
* @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection selection = HandlerUtil.getCurrentSelection(event);
+ editor = EditorUtil.getActiveMultiPageTaxonEditor();
+ if (this.editor.isDirty()){
+ boolean proceed = MessageDialog.openQuestion(null,
+ "Save changes", "You have made changes that must be saved before this query can be executed. Would you like to proceed?");
+ if (proceed) {
+ editor.doSave(EditorUtil.getMonitor());
+ } else {
+ return null;
+ }
+
+ }
+
if(selection instanceof IStructuredSelection){
// Choose the target taxon
List<UUID> excludeTaxa = new ArrayList<UUID>();
- editor = (TaxonNameEditor) EditorUtil.getActiveEditorPage(Page.NAME);
+
+
excludeTaxa.add(descriptions.get(0).getTaxon().getUuid());
//get current taxon node
@Override
public void run() {
- AbstractUtility.close(editor.getMultiPageTaxonEditor());
+ AbstractUtility.close(editor);
try {
MultiPageTaxonEditor possibleOpenEditor = (MultiPageTaxonEditor) EditorUtil.findEditorByTaxonNodeUuid(newAcceptedTaxonNodeUuid);