diff options
| author | Laurent Fasani | 2018-01-26 16:56:33 +0000 |
|---|---|---|
| committer | Laurent Fasani | 2018-01-30 14:27:04 +0000 |
| commit | f8cbc4f953e43cee8c8f7351aa5823eb5e03ba86 (patch) | |
| tree | aad8e23a01379dd3dcacedb5017dc412d83fa359 | |
| parent | 25af397e492e392f6cd8dfefa99501335bf350e4 (diff) | |
| download | org.eclipse.sirius-f8cbc4f953e43cee8c8f7351aa5823eb5e03ba86.tar.gz org.eclipse.sirius-f8cbc4f953e43cee8c8f7351aa5823eb5e03ba86.tar.xz org.eclipse.sirius-f8cbc4f953e43cee8c8f7351aa5823eb5e03ba86.zip | |
[516669] Fix regression for tooltip on diagram element decoration
* Add tooltip delegation for Sirius core decorations on diagram element.
That feature was forgotten when switching of decoration mechanism
Bug: 516669
Change-Id: Idf8f7e45c401553fe033f841a4d26dcc04716579
Signed-off-by: Laurent Fasani <laurent.fasani@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/decoration/EditModeDecorationDescriptorProvider.java | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/decoration/EditModeDecorationDescriptorProvider.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/decoration/EditModeDecorationDescriptorProvider.java index 62b8d39868..a8bb9a02d1 100644 --- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/decoration/EditModeDecorationDescriptorProvider.java +++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/decoration/EditModeDecorationDescriptorProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017 THALES GLOBAL SERVICES. + * Copyright (c) 2017, 2018 THALES GLOBAL SERVICES. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.eclipse.core.runtime.Platform; import org.eclipse.emf.ecore.EObject; import org.eclipse.gef.EditPart; import org.eclipse.sirius.business.api.session.Session; @@ -27,6 +28,7 @@ import org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath; import org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority; import org.eclipse.sirius.ecore.extender.business.api.permission.LockStatus; import org.eclipse.sirius.ecore.extender.business.api.permission.PermissionAuthorityRegistry; +import org.eclipse.sirius.ext.jface.viewers.IToolTipProvider; import org.eclipse.sirius.viewpoint.description.DecorationDistributionDirection; import org.eclipse.sirius.viewpoint.description.Position; import org.eclipse.sirius.viewpoint.provider.SiriusEditPlugin; @@ -58,12 +60,28 @@ public class EditModeDecorationDescriptorProvider extends AbstractSiriusDecorati decoDesc.setDisplayPriority(DisplayPriority.HIGH_PRIORITY.getValue()); decoDesc.setDecorationAsImage(decorationImage); + // add tooltip + decoDesc.setTooltipAsString(getToolTip(editPart)); + return Arrays.asList(decoDesc); } return new ArrayList<>(); } + private String getToolTip(IDiagramElementEditPart editPart) { + EObject representedObject = editPart.resolveTargetSemanticElement(); + + if (representedObject != null) { + IToolTipProvider tooltipProvider = Platform.getAdapterManager().getAdapter(representedObject, IToolTipProvider.class); + if (tooltipProvider != null) { + return tooltipProvider.getToolTipText(representedObject); + } + } + + return null; + } + /** * Check if an edit part is broken for decoration. * |
