From 7ea7590d7a334d938caa44752c2175706bfcdc2c Mon Sep 17 00:00:00 2001 From: Andreas Bayha <bayha@fortis.org> Date: Fri, 2 Mar 2018 13:17:32 +0000 Subject: [PATCH] Added possibility to specify overlay in ModelElementHandler. --- .../tooling/kernel/ui/extension/base/.ratings | 2 +- .../base/ModelElementHandlerBase.java | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/.ratings b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/.ratings index 32d5f2ec8..d6e82f8ab 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/.ratings +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/.ratings @@ -4,7 +4,7 @@ EObjectActionBase.java 67c307ac15d7f45ad970ab1df42f4729fee09518 GREEN EReferencePropertySectionBase.java d4cce5af54efc59b33415a34d5130ab8952d60ce GREEN EditorBase.java 3af0350a488adf676d5b5e5ccad2087fb97c3d5b GREEN ModelEditorBindingBase.java 12f6323750cde28cefa99c1ec9d45191c8779109 GREEN -ModelElementHandlerBase.java 135d078a83e2174e762168d7467b6def2ad26273 GREEN +ModelElementHandlerBase.java 56590eab74170f91e2760ec5d44d2653667f1f94 YELLOW MultiEObjectActionBase.java ab9170f3918a069fa2a3aabae0436618317fa7b8 GREEN NamedCommentedModelElementHandlerBase.java 8f9cb1e750afb577f528d330165a9f377e23aa8b GREEN PropertySectionBase.java f8e2cf4444ab4808ac8c45b65840619b367ba112 GREEN diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/ModelElementHandlerBase.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/ModelElementHandlerBase.java index ab76427ea..078edad97 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/ModelElementHandlerBase.java +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/extension/base/ModelElementHandlerBase.java @@ -22,7 +22,9 @@ import java.util.Map; import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.DecorationOverlayIcon; import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler; /** @@ -58,6 +60,17 @@ public abstract class ModelElementHandlerBase<T extends EObject> implements IMod iconImage = descr.createImage(); iconImages.put(descr, iconImage); } + + ImageDescriptor overlay = getIconOverlay(element); + if(overlay != null) { + Point resultImgSize = new Point(16, 16); + ImageDescriptor[] overlaysArray = new ImageDescriptor[] {null, null, null, + overlay, null}; + DecorationOverlayIcon decorated = + new DecorationOverlayIcon(iconImage, overlaysArray, resultImgSize); + return decorated.createImage(); + } + return iconImage; } @@ -127,4 +140,15 @@ public abstract class ModelElementHandlerBase<T extends EObject> implements IMod public EObject getPropertySectionRetargetElement(T element) { return element; } + + /** + * Retrieves the overlay, that is applied to the icon of the given element. + * + * @param element + * The element for which its icon shall be decorated with the overlay. + * @return The decoration overlay for element's icon. + */ + public ImageDescriptor getIconOverlay(T element) { + return null; + } } -- GitLab