Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java14
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());
}
}

Back to the top