diff options
Diffstat (limited to 'bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java')
-rw-r--r-- | bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java index 5918aa618d..780a38343c 100644 --- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java +++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorActionBarContributor.java @@ -14,10 +14,9 @@ package org.eclipse.emf.ecp.ide.editor.view; import java.util.Collection; -import java.util.stream.Stream; -import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecp.edit.spi.DeleteService; +import org.eclipse.emf.ecp.edit.spi.ConditionalDeleteService; import org.eclipse.emf.ecp.view.spi.context.ViewModelContext; import org.eclipse.emf.edit.ui.action.DeleteAction; import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; @@ -92,16 +91,9 @@ public class ViewEditorActionBarContributor extends EditingDomainActionBarContri @Override public boolean updateSelection(IStructuredSelection selection) { - final DeleteService deleteService = getService(DeleteService.class); - if (deleteService == null) { - return super.updateSelection(selection); - } - - return !selection.isEmpty() && Stream.of(selection.toArray()).noneMatch(this::isRoot); - } + final ConditionalDeleteService deleteService = ConditionalDeleteService.getDeleteService(getViewModelContext()); - private boolean isRoot(Object object) { - return object instanceof EObject && ((EObject) object).eContainer() == null; + return !selection.isEmpty() && deleteService.canDelete(selection.toList()); } } |