diff options
| author | Guillaume Coutable | 2016-11-25 14:30:41 +0000 |
|---|---|---|
| committer | Maxime Porhel | 2016-12-22 11:48:08 +0000 |
| commit | 521586bf74349f46601d1b1ddd5ce8ed7f542210 (patch) | |
| tree | 7c3f7a764b69eaa5b4aec50cbe7a9c7bd6b8903a | |
| parent | 60cd0144ebd624c5fe4f838adbd6f40ce7f18b06 (diff) | |
| download | org.eclipse.sirius-521586bf74349f46601d1b1ddd5ce8ed7f542210.tar.gz org.eclipse.sirius-521586bf74349f46601d1b1ddd5ce8ed7f542210.tar.xz org.eclipse.sirius-521586bf74349f46601d1b1ddd5ce8ed7f542210.zip | |
[509638] Wrong image for representation containing dangling
The key for image cache is more precise by including the description
class name
Bug: 509638
Cherry-picked-from: 508191
Change-Id: I64317b3bbe07f326e2d3f98f9504a65f9afcfe9e
Signed-off-by: Guillaume Coutable <guillaume.coutable@obeo.fr>
Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/navigator/SiriusCommonLabelProvider.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/navigator/SiriusCommonLabelProvider.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/navigator/SiriusCommonLabelProvider.java index ce5cb4f4fb..851aa35325 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/navigator/SiriusCommonLabelProvider.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/navigator/SiriusCommonLabelProvider.java @@ -46,6 +46,7 @@ import org.eclipse.sirius.viewpoint.DRepresentation; import org.eclipse.sirius.viewpoint.DRepresentationDescriptor; import org.eclipse.sirius.viewpoint.DSemanticDecorator; import org.eclipse.sirius.viewpoint.provider.Messages; +import org.eclipse.sirius.viewpoint.description.RepresentationDescription; import org.eclipse.sirius.viewpoint.provider.SiriusEditPlugin; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; @@ -97,8 +98,16 @@ public class SiriusCommonLabelProvider implements ICommonLabelProvider, IColorPr // If the current element is a dangling representation, its icon // is grayed. The grayed image is computed only once for each // type of representation. - if (img != null && isDanglingRepresentationDescriptor(element)) { - String key = MessageFormat.format(Messages.SiriusCommonLabelProvider_eClassDisabled, DRepresentationDescriptor.class.getName()); + DRepresentationDescriptor descRep = getRepresentationDescriptor(element); + if (img != null && descRep != null && isDanglingRepresentationDescriptor(descRep)) { + StringBuilder sB = new StringBuilder(); + sB.append(descRep.getClass().getName()); + RepresentationDescription description = descRep.getDescription(); + if (description != null) { + sB.append('_'); + sB.append(description.getClass().getName()); + } + String key = MessageFormat.format(Messages.SiriusCommonLabelProvider_eClassDisabled, sB.toString()); Image disabledImage = SiriusEditPlugin.getPlugin().getImageRegistry().get(key); if (disabledImage == null) { ImageDescriptor desc = ImageDescriptor.createFromImage(img); |
