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