From 5dc22e884fa4f9380721b1d43336485738a802f5 Mon Sep 17 00:00:00 2001 From: Tiziano Munaro <munaro@fortiss.org> Date: Wed, 9 Sep 2020 17:36:34 +0200 Subject: [PATCH] Use the ModelEditorNotAvaiableBinding to denote extensions of FX editors Issue-Ref: 4020 Issue-Url: https://af3-developer.fortiss.org/issues/4020 Signed-off-by: Tiziano Munaro <munaro@fortiss.org> --- .../org/fortiss/tooling/kernel/ui/extension/.ratings | 2 +- .../ui/extension/ModelEditorNotAvailableBinding.java | 2 +- .../org/fortiss/tooling/kernel/ui/internal/.ratings | 4 ++-- .../ui/internal/ModelEditorBindingService.java | 12 ++++++------ 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/.ratings b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/.ratings index e039d39f8..006af6d09 100644 --- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/.ratings +++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/.ratings @@ -8,4 +8,4 @@ IModelElementHandler.java 86a8ec88b9679bbe7f53cfa8d1592bd862873f80 GREEN ITutorialStepUI.java b8aee2b95857484ab6ad9ecd55b5de9f0ea158e5 GREEN ITutorialUIProvider.java aa0ff5db4d7ba0953e34edeb99f3e8279567e18f GREEN ITutorialUIWhitelistProvider.java d703c1531c6ae7677c2d94cbc95d498dfa4a7e9b GREEN -ModelEditorNotAvailableBinding.java aa2a519ff0dcc53985b9759a94adb52f213ecc84 GREEN +ModelEditorNotAvailableBinding.java ba0ea0fe9004cf16579d053d0ddf7eb3f35ed101 YELLOW diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/ModelEditorNotAvailableBinding.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/ModelEditorNotAvailableBinding.java index aa2a519ff..ba0ea0fe9 100644 --- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/ModelEditorNotAvailableBinding.java +++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/extension/ModelEditorNotAvailableBinding.java @@ -24,7 +24,7 @@ import org.fortiss.tooling.kernel.ui.extension.base.ModelEditorBindingBase; * * @author barner */ -public final class ModelEditorNotAvailableBinding extends ModelEditorBindingBase<EObject> { +public class ModelEditorNotAvailableBinding<T extends EObject> extends ModelEditorBindingBase<T> { // Nothing to do: The type ModelEditorNotAvailableBinding is used in ModelEditorBindingService // to make a case distinction for model elements without dedicated editors. } diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/.ratings b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/.ratings index d42e67884..e55e9668c 100644 --- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/.ratings +++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/.ratings @@ -3,8 +3,8 @@ AllocationEditPartFactoryService.java 81bd227736013f1157ba9d0f79a9f3deefe10064 G ContextMenuService.java ca3c899293f25b70ce8e5f0d86ca2f9683329d81 GREEN EditPartFactoryService.java e9180c0020f1769d9e24ef3c08f9ca5599dbc5c3 GREEN MarkerService.java 505296c356f8d66c5c009b6d6181a971d02a9501 GREEN -ModelEditorBindingService.java d980691db4b700714c0669050014d08751354d5e GREEN -ModelElementHandlerService.java eeb07f6926012aa98256d452d1e554a5486dc657 GREEN +ModelEditorBindingService.java 4f502438a9fed17a3c8d03a7f11140ad1f10a0a9 YELLOW +ModelElementHandlerService.java ef618c1c0852c6cb087443fd3d4c74279d8b4c0a GREEN NavigatorService.java 1d773dde3791ddf7051616fe249558e7e307757d GREEN ToolingKernelUIInternal.java a70d19883dfb315d860233156d8524cf1ac2952f GREEN TutorialUIService.java b1d632eca91b4feb583f3930cd6ee4722dd9bfed GREEN diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/ModelEditorBindingService.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/ModelEditorBindingService.java index d980691db..4f502438a 100644 --- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/ModelEditorBindingService.java +++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/ModelEditorBindingService.java @@ -155,18 +155,18 @@ public class ModelEditorBindingService extends EObjectAwareServiceBase<IModelEdi List<IModelEditorBinding<EObject>> bindings = getBindings(element); int numBindings = bindings.size(); - // There is exactly one binding that indicates that no editor should be displayed. - if(numBindings == 1 && bindings.get(0) instanceof ModelEditorNotAvailableBinding) { - return; - } - // Recurse if there is an editor for one the model element's ancestors. - if(numBindings == 0) { + // Recurse if there is no binding or no editor for the current model element. + boolean noEditor = + numBindings == 1 && bindings.get(0) instanceof ModelEditorNotAvailableBinding; + boolean noBindings = numBindings == 0; + if(noBindings || noEditor) { if(element.eContainer() != null) { openInEditor(element.eContainer()); } return; } + try { IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchPage activePage = workbench.getActiveWorkbenchWindow().getActivePage(); -- GitLab