From 2c7112040d6f823c38e2c0d08923eab061faa290 Mon Sep 17 00:00:00 2001 From: Vincent Aravantinos <aravantinos@fortiss.org> Date: Fri, 8 Jul 2016 10:58:53 +0000 Subject: [PATCH] improves highlighting refs 2620 --- .../ui/editor/CommonDiagramEditorBase.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/CommonDiagramEditorBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/CommonDiagramEditorBase.java index b3516d4e2..3a8fa1c68 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/CommonDiagramEditorBase.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/CommonDiagramEditorBase.java @@ -117,7 +117,7 @@ import org.fortiss.tooling.kernel.ui.service.IEditPartFactoryService; * @author hoelzl * @author $Author: aravantinos $ * @version $Rev: 13954 $ - * @ConQAT.Rating YELLOW Hash: AA59F547B0610F86EC4E42B739733731 + * @ConQAT.Rating YELLOW Hash: C96404EE24E8C30B5A2AABFB1342F04A */ abstract class CommonDiagramEditorBase<T extends EObject> extends GEFEditorBase<T> implements IPostSelectionProvider, ContextMenuContextProvider { @@ -596,19 +596,28 @@ abstract class CommonDiagramEditorBase<T extends EObject> extends GEFEditorBase< */ protected void setHighlight(IFigure fig, boolean highlighted) { if(highlighted) { - if(!highlightedFigures2NormalColor.containsKey(fig)) { - highlightedFigures2NormalColor.put(fig, fig.getForegroundColor()); + if(!highlightedFigures2NormalFgColor.containsKey(fig)) { + highlightedFigures2NormalFgColor.put(fig, fig.getForegroundColor()); fig.setForegroundColor(ColorConstants.red); + highlightedFigures2NormalBgColor.put(fig, fig.getBackgroundColor()); + fig.setBackgroundColor(ColorConstants.red); } } else { - Color normalColor = highlightedFigures2NormalColor.get(fig); + Color normalColor = highlightedFigures2NormalFgColor.get(fig); fig.setForegroundColor(normalColor); - highlightedFigures2NormalColor.remove(fig); + normalColor = highlightedFigures2NormalBgColor.get(fig); + fig.setBackgroundColor(normalColor); + highlightedFigures2NormalFgColor.remove(fig); } } /** A map from figures that are currently highlighted to their normal foreground color. */ - private HashMap<IFigure, Color> highlightedFigures2NormalColor = new HashMap<IFigure, Color>(); + private HashMap<IFigure, Color> highlightedFigures2NormalFgColor = + new HashMap<IFigure, Color>(); + + /** A map from figures that are currently highlighted to their normal foreground color. */ + private HashMap<IFigure, Color> highlightedFigures2NormalBgColor = + new HashMap<IFigure, Color>(); /** Returns the edit part corresponding to the EObject or null if it cannot be found. */ @SuppressWarnings("unchecked") @@ -641,7 +650,7 @@ abstract class CommonDiagramEditorBase<T extends EObject> extends GEFEditorBase< /** {@inheritDoc} */ @Override public void clearAllHighlights() { - Set<IFigure> figs = new HashSet<IFigure>(highlightedFigures2NormalColor.keySet()); + Set<IFigure> figs = new HashSet<IFigure>(highlightedFigures2NormalFgColor.keySet()); for(IFigure figure : figs) { setHighlight(figure, false); -- GitLab