Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Fasani2018-01-26 16:56:33 +0000
committerLaurent Fasani2018-01-30 14:27:04 +0000
commitf8cbc4f953e43cee8c8f7351aa5823eb5e03ba86 (patch)
treeaad8e23a01379dd3dcacedb5017dc412d83fa359
parent25af397e492e392f6cd8dfefa99501335bf350e4 (diff)
downloadorg.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.java20
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.
*

Back to the top