diff options
-rw-r--r-- | plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/dialect/DialectUIManagerImpl.java | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/dialect/DialectUIManagerImpl.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/dialect/DialectUIManagerImpl.java index 2e8ae6bee2..499b9d7360 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/dialect/DialectUIManagerImpl.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/business/internal/dialect/DialectUIManagerImpl.java @@ -366,16 +366,22 @@ public class DialectUIManagerImpl implements DialectUIManager { @Override public String completeToolTipText(String toolTipText, EObject eObject, EStructuralFeature feature) { String toolTip = toolTipText; - Option<EObject> parentDescription = new EObjectQuery(eObject).getFirstAncestorOfType(DescriptionPackage.eINSTANCE.getRepresentationDescription()); - if (!parentDescription.some()) { - parentDescription = new EObjectQuery(eObject).getFirstAncestorOfType(DescriptionPackage.eINSTANCE.getRepresentationExtensionDescription()); - } - if (parentDescription.some()) { + Option<EObject> parentRepresentationDescription = new EObjectQuery(eObject).getFirstAncestorOfType(DescriptionPackage.eINSTANCE.getRepresentationDescription()); + if (parentRepresentationDescription.some()) { for (final DialectUI dialect : dialects.values()) { - if (dialect.getServices().canHandle((RepresentationDescription) parentDescription.get())) { + if (dialect.getServices().canHandle((RepresentationDescription) parentRepresentationDescription.get())) { toolTip = dialect.getServices().completeToolTipText(toolTipText, eObject, feature); } } + } else { + Option<EObject> parentRepresentationExtensionDescription = new EObjectQuery(eObject).getFirstAncestorOfType(DescriptionPackage.eINSTANCE.getRepresentationExtensionDescription()); + if (parentRepresentationDescription.some()) { + for (final DialectUI dialect : dialects.values()) { + if (dialect.getServices().canHandle((RepresentationExtensionDescription) parentRepresentationExtensionDescription.get())) { + toolTip = dialect.getServices().completeToolTipText(toolTipText, eObject, feature); + } + } + } } return toolTip; } |