diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/PositionedEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/PositionedEditPartBase.java index 5153ec5d29e7d4e7e1a88eaf615d1e33912badb0..6dfb5d68e77d1883fbb031a7780f2bcf1a265665 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/PositionedEditPartBase.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/PositionedEditPartBase.java @@ -20,10 +20,13 @@ package org.fortiss.tooling.base.ui.editpart; import static org.fortiss.tooling.base.ui.editpart.ExtendedLayerRootEditPart.DECORATION_LAYER; import static org.fortiss.tooling.base.ui.editpart.ExtendedLayerRootEditPart.LABEL_LAYER; +import java.util.Collection; + import org.eclipse.draw2d.ConnectionAnchor; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.Label; import org.eclipse.draw2d.geometry.Rectangle; +import org.eclipse.emf.ecore.EObject; import org.eclipse.gef.ConnectionEditPart; import org.eclipse.gef.DragTracker; import org.eclipse.gef.NodeEditPart; @@ -35,6 +38,7 @@ import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Image; import org.fortiss.tooling.base.model.layout.ILayoutedModelElement; import org.fortiss.tooling.base.ui.layout.IDiagramLayoutConfiguration; +import org.fortiss.tooling.kernel.extension.data.IConstraintViolation; import org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity; import org.fortiss.tooling.kernel.ui.service.IMarkerService; import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService; @@ -69,7 +73,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: A01B2CB842D388DAAC38F6B9A2D853B8 + * @ConQAT.Rating YELLOW Hash: AA7E698D18A510E82F864B9CEE5667FD */ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement> extends GraphicalEditPartBase<T> implements NodeEditPart { @@ -219,6 +223,18 @@ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement> default: } decorationFigure.setIcon(icon); + if (icon != null) { + String message = ""; + Collection<IConstraintViolation<? extends EObject>> violations = IMarkerService.INSTANCE + .getViolations(getModel()); + for (IConstraintViolation<? extends EObject> viol : violations) { + if (viol.getSeverity() == sev) { + message = viol.getExplanation(); + break; + } + } + decorationFigure.setToolTip(new Label(message)); + } } /**