From ca354d3c2d946dfbec90eea6987b6f25638e78a4 Mon Sep 17 00:00:00 2001
From: cramakri <cramakri>
Date: Tue, 16 Aug 2011 08:53:46 +0000
Subject: [PATCH] LMS-2438 Improve hiding of tooltips in play layout view.

SVN: 22494
---
 .../detailviewers/heatmaps/PlateLayouter.java | 21 ++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/heatmaps/PlateLayouter.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/heatmaps/PlateLayouter.java
index 760a1dbea02..374456fae15 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/heatmaps/PlateLayouter.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/heatmaps/PlateLayouter.java
@@ -158,6 +158,7 @@ public class PlateLayouter
 
                 public void updateTooltip(int rowIx, int colIx, String tooltipOrNull)
                 {
+                    hideAllToolTipsExcept(rowIx, colIx);
                     Component wellComponent = getWellComponent(rowIx, colIx);
                     if (tooltipOrNull != null)
                     {
@@ -165,7 +166,7 @@ public class PlateLayouter
                         wellComponent.setToolTip(preparedText);
                     } else
                     {
-                        wellComponent.removeToolTip();
+                        wellComponent.hideToolTip();
                     }
                 }
 
@@ -197,6 +198,24 @@ public class PlateLayouter
                     Component wellComponent = renderedWells[rowIx][colIx];
                     return wellComponent;
                 }
+
+                private void hideAllToolTipsExcept(int rowIx, int colIx)
+                {
+                    for (int row = 0; row < renderedWells.length; ++row)
+                    {
+                        for (int col = 0; col < renderedWells[row].length; ++col)
+                        {
+                            if (row == rowIx && col == colIx)
+                            {
+                                // Do not do anything
+                            } else
+                            {
+                                renderedWells[row][col].hideToolTip();
+                            }
+                        }
+                    }
+
+                }
             };
     }
 
-- 
GitLab