import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
protected static final String DO_YOU_REALLY_WANT_TO_DELETE_THE_CLASSIFICATION = Messages.DeleteHandler_DELETE_CLASSIFICATION;
protected static final String CONFIRM_DELETION = Messages.DeleteHandler_CONFIRM_DELETE;
protected static final String DELETE = Messages.DeleteHandler_DELETE;
+ EPartService partService;
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_SELECTION)TreeSelection selection,
@Named(IServiceConstants.ACTIVE_SHELL)Shell shell,
@Named(IServiceConstants.ACTIVE_PART)MPart activePart,
+ EPartService partService,
MHandledMenuItem menuItem, UISynchronize sync) {
-
+ this.partService = partService;
TaxonNavigatorE4 taxonNavigator = (TaxonNavigatorE4) activePart.getObject();
Iterator selectionIterator = selection.iterator();
protected boolean closeObsoleteEditor(TaxonNodeDto taxonNode){
//FIXME E4 migrate
boolean result = true;
-// for (IEditorReference ref : activePage.getEditorReferences()) {
-// try {
-// String treeIndex = ((ITreeNode)taxonNode).treeIndex();
-//
-//
-// IEditorInput input = ref.getEditorInput();
-// if (input instanceof TaxonEditorInput) {
-// TaxonNode node = ((TaxonEditorInput) input).getTaxonNode();
-// //if node is a child of taxonNode then close the editor
-// if( ((ITreeNode) node).treeIndex().startsWith(treeIndex)){
-// //if (taxonNode.equals(node)) {
-// result &= activePage.closeEditor(ref.getEditor(false), true);
-//
-// }
-// }
-// } catch (PartInitException e) {
-// continue;
-// }
-// }
+ EditorUtil.closeObsoleteEditor(taxonNode, partService);
+
return result;
}
}