From 345b65fd9d88835949f85811471b8c46f853e058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20D=C3=B6bber?= <doebber@in.tum.de> Date: Thu, 5 Jan 2012 18:08:27 +0000 Subject: [PATCH] pair programming, pair review refs 307 --- .../ui/editpart/ConnectorEditPartBase.java | 8 ++- .../ui/editpart/PositionedEditPartBase.java | 55 +++++++++++++++--- .../trunk/icons/error_small.gif | Bin 0 -> 84 bytes .../trunk/icons/warning_small.gif | Bin 0 -> 111 bytes .../kernel/ui/internal/MarkerService.java | 38 +++++++++++- .../ui/internal/views/MarkerViewPart.java | 34 ++--------- .../kernel/ui/service/IMarkerService.java | 10 +++- 7 files changed, 104 insertions(+), 41 deletions(-) create mode 100644 org.fortiss.tooling.kernel.ui/trunk/icons/error_small.gif create mode 100644 org.fortiss.tooling.kernel.ui/trunk/icons/warning_small.gif diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java index a9ab81f97..2f1d37831 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java @@ -58,7 +58,7 @@ import org.fortiss.tooling.kernel.model.INamedCommentedElement; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: 16D079AEA83E96E84B22409E8808778B + * @ConQAT.Rating GREEN Hash: 361B8046D1032664F3A2CAC657D30493 */ public abstract class ConnectorEditPartBase<T extends ILayoutedModelElement & IConnector & INamedCommentedElement> extends PositionedEditPartBase<T> { @@ -128,6 +128,12 @@ public abstract class ConnectorEditPartBase<T extends ILayoutedModelElement & IC return ""; } + /** {@inheritDoc} */ + @Override + protected boolean useSmallDecorationImage() { + return true; + } + /** Returns background color for target role. */ protected Color getTargetForegroundColor() { return getForegroundColor(); 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 3f53a7a95..6ad550a12 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 @@ -32,8 +32,11 @@ import org.eclipse.gef.requests.SelectionRequest; import org.eclipse.gef.tools.ConnectionDragCreationTool; import org.eclipse.gef.tools.DragEditPartsTracker; 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.ESeverity; +import org.fortiss.tooling.kernel.ui.service.IMarkerService; import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService; /** @@ -66,7 +69,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: A7CE6740ADDD2F321FA24E2C5689F3D8 + * @ConQAT.Rating GREEN Hash: 3B050D7FB691B8F17BBADB932EFF2BF2 */ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement> extends GraphicalEditPartBase<T> implements NodeEditPart { @@ -78,7 +81,7 @@ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement> protected Label labelFigure; /** The decoration figure. */ - protected IFigure decorationFigure; + protected Label decorationFigure; /** Constructor. */ protected PositionedEditPartBase(T modelElement) { @@ -138,8 +141,8 @@ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement> * Creates the decoration figure. The default implementation does not create * a figure. */ - protected IFigure createDecorationFigure() { - return null; + protected Label createDecorationFigure() { + return new Label(); } /** @@ -148,7 +151,12 @@ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement> * bounds were determined first. */ protected Rectangle determineDecorationFigureBounds() { - return new Rectangle(); + Rectangle r = determineBaseFigureBounds(); + r.x += 4; + r.y += 4; + r.width = useSmallDecorationImage() ? 8 : 16; + r.height = useSmallDecorationImage() ? 8 : 16; + return r; } /** Returns the foreground color used. */ @@ -185,13 +193,42 @@ public abstract class PositionedEditPartBase<T extends ILayoutedModelElement> } if (decorationFigure != null && decorationFigure.getParent() != null) { - Rectangle decorationBounds = determineDecorationFigureBounds(); - decorationFigure.setBounds(decorationBounds); - decorationFigure.getParent().setConstraint(decorationFigure, - decorationBounds); + refreshDecorationFigure(); } } + /** Refreshes the decoration figure using {@link IMarkerService} */ + private void refreshDecorationFigure() { + Rectangle decorationBounds = determineDecorationFigureBounds(); + decorationFigure.setBounds(decorationBounds); + decorationFigure.getParent().setConstraint(decorationFigure, + decorationBounds); + + ESeverity sev = IMarkerService.INSTANCE + .getHighestViolationSeverity(getModel()); + + Image icon = null; + switch (sev) { + case ERROR: + icon = IMarkerService.INSTANCE.getImageFor(ESeverity.ERROR, + useSmallDecorationImage()).createImage(); + break; + case WARNING: + icon = IMarkerService.INSTANCE.getImageFor(ESeverity.WARNING, + useSmallDecorationImage()).createImage(); + break; + } + decorationFigure.setIcon(icon); + } + + /** + * Returns whether to use small or big decoration image. Default + * implementation uses big image. + */ + protected boolean useSmallDecorationImage() { + return false; + } + /** {@inheritDoc} */ @Override public void addNotify() { diff --git a/org.fortiss.tooling.kernel.ui/trunk/icons/error_small.gif b/org.fortiss.tooling.kernel.ui/trunk/icons/error_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..8612eaff5994f2b70514365e717d6ce1597020c2 GIT binary patch literal 84 zcmZ?wbhEHbWM|-DSj52apMhb&y?wpC{r~#<{qgbl_wWA?28usf7#SGY8FUzc0Hl_I iSu$edYO{nHswagRBbYXr$%Mro6!z^}z~;)tU=0A^iW{c@ literal 0 HcmV?d00001 diff --git a/org.fortiss.tooling.kernel.ui/trunk/icons/warning_small.gif b/org.fortiss.tooling.kernel.ui/trunk/icons/warning_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..27c0cfb7c450c07874ec07f41b41b5bbebda6ad9 GIT binary patch literal 111 zcmZ?wbhEHbWM|-D*v!E2@5{A+Z;$+Yd-U=mhxa=?|2<mu@6qaiXG;E^E%|q?@89*l z1%-Mc76uFq4FCWC2a<|ESr{1@_!xA6YzB}S3@kDQCp8--*+MRL#4#QeXbOpGQ&g2% O=;2<YAR@}hU=09!!Ynxe literal 0 HcmV?d00001 diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java index 9fe9edb94..755ce286d 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java @@ -32,6 +32,7 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.IDecoration; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ILightweightLabelDecorator; @@ -44,6 +45,7 @@ import org.fortiss.tooling.kernel.service.IConstraintCheckerService; import org.fortiss.tooling.kernel.service.IPersistencyService; import org.fortiss.tooling.kernel.service.listener.IPersistencyServiceListener; import org.fortiss.tooling.kernel.ui.ESharedImages; +import org.fortiss.tooling.kernel.ui.ToolingKernelUIActivator; import org.fortiss.tooling.kernel.ui.internal.views.MarkerViewPart; import org.fortiss.tooling.kernel.ui.service.IMarkerService; @@ -53,7 +55,7 @@ import org.fortiss.tooling.kernel.ui.service.IMarkerService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: FA78F16C3A1FB73F1E1E0B83A31D26FE + * @ConQAT.Rating GREEN Hash: 1ACE010B0F034EB9A8CA753A39EA0301 */ public class MarkerService implements IMarkerService, IPersistencyServiceListener, ILightweightLabelDecorator { @@ -388,4 +390,38 @@ public class MarkerService implements IMarkerService, } return list; } + + /** {@inheritDoc} */ + @Override + public ImageDescriptor getImageFor(ESeverity severity, + boolean smallDecoration) { + switch (severity) { + case FATAL: + return ToolingKernelUIActivator + .getImageDescriptor("icons/fatal.gif"); + case ERROR: + if (smallDecoration) { + return ToolingKernelUIActivator + .getImageDescriptor("icons/error_small.gif"); + } + return ToolingKernelUIActivator + .getImageDescriptor("icons/error.gif"); + case WARNING: + if (smallDecoration) { + return ToolingKernelUIActivator + .getImageDescriptor("icons/warning_small.gif"); + } + return ToolingKernelUIActivator + .getImageDescriptor("icons/warning.gif"); + case INFO: + return ToolingKernelUIActivator + .getImageDescriptor("icons/info.gif"); + case DEBUG: + return ToolingKernelUIActivator + .getImageDescriptor("icons/debug.gif"); + + } + + return null; + } } diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/MarkerViewPart.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/MarkerViewPart.java index 42fa7b69e..c8c45d6e3 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/MarkerViewPart.java +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/MarkerViewPart.java @@ -32,7 +32,6 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.Separator; -import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.CellLabelProvider; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; @@ -44,7 +43,6 @@ import org.eclipse.ui.part.ViewPart; import org.fortiss.tooling.kernel.extension.data.IConstraintViolation; import org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity; import org.fortiss.tooling.kernel.service.IPersistencyService; -import org.fortiss.tooling.kernel.ui.ToolingKernelUIActivator; import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler; import org.fortiss.tooling.kernel.ui.internal.MarkerService; import org.fortiss.tooling.kernel.ui.service.IMarkerService; @@ -56,7 +54,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: EAE8E1FB9FBA7562BF9DA666337C68C9 + * @ConQAT.Rating GREEN Hash: 9911FDD4D42B3F17A872D3E7E97EAD29 */ public class MarkerViewPart extends ViewPart { @@ -138,8 +136,8 @@ public class MarkerViewPart extends ViewPart { public void update(ViewerCell cell) { if (cell.getElement() instanceof ESeverity) { cell.setText(((ESeverity) cell.getElement()).toString()); - cell.setImage(getImageFor((ESeverity) cell.getElement()) - .createImage()); + cell.setImage(IMarkerService.INSTANCE.getImageFor( + (ESeverity) cell.getElement(), false).createImage()); } else { cell.setText(""); } @@ -245,7 +243,8 @@ public class MarkerViewPart extends ViewPart { this.severity = severity; setToolTipText(tooltip); setChecked(toggleState.get(severity)); - setImageDescriptor(getImageFor(severity)); + setImageDescriptor(IMarkerService.INSTANCE.getImageFor(severity, + false)); } /** {@inheritDoc} */ @@ -257,27 +256,4 @@ public class MarkerViewPart extends ViewPart { } } - /** Returns the icon appropriate for the severity. */ - public ImageDescriptor getImageFor(ESeverity severity) { - switch (severity) { - case FATAL: - return ToolingKernelUIActivator - .getImageDescriptor("icons/fatal.gif"); - case ERROR: - return ToolingKernelUIActivator - .getImageDescriptor("icons/error.gif"); - case WARNING: - return ToolingKernelUIActivator - .getImageDescriptor("icons/warning.gif"); - case INFO: - return ToolingKernelUIActivator - .getImageDescriptor("icons/info.gif"); - case DEBUG: - return ToolingKernelUIActivator - .getImageDescriptor("icons/debug.gif"); - - } - - return null; - } } diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/service/IMarkerService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/service/IMarkerService.java index 3cc378969..88a135768 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/service/IMarkerService.java +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/service/IMarkerService.java @@ -20,6 +20,7 @@ package org.fortiss.tooling.kernel.ui.service; import java.util.Collection; import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.resource.ImageDescriptor; import org.fortiss.tooling.kernel.extension.data.IConstraintViolation; import org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity; import org.fortiss.tooling.kernel.extension.data.ITopLevelElement; @@ -34,7 +35,7 @@ import org.fortiss.tooling.kernel.ui.internal.MarkerService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating GREEN Hash: 67EA81E75245A95CD73C43D28802B0E2 + * @ConQAT.Rating GREEN Hash: 7CA4B3A1CFB5DAA9243A2537F4C75C02 */ public interface IMarkerService { @@ -62,4 +63,11 @@ public interface IMarkerService { /** Returns all violations across projects with the given severity. */ Collection<IConstraintViolation<? extends EObject>> getAllViolationsWithSeverity( ESeverity severity); + + /** + * Returns the icon appropriate for the severity. Flag indicates small sized + * image. + */ + public ImageDescriptor getImageFor(ESeverity severity, + boolean smallDecoration); } -- GitLab