From f2d08e2973dc4ec9c166e2b6a86adb21aad2871c Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Tue, 10 Nov 2009 14:17:56 +0000
Subject: [PATCH] [LMS-1217] added a tooltip with exact value and showing
 values that are less than 0.00005 as '0.0000...'

SVN: 13289
---
 .../application/renderer/RealNumberRenderer.java     | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/RealNumberRenderer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/RealNumberRenderer.java
index 6be297b890c..ac613b3dc1d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/RealNumberRenderer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/RealNumberRenderer.java
@@ -6,6 +6,7 @@ import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
 import com.google.gwt.i18n.client.NumberFormat;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.BaseEntityModel;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.MultilineHTML;
 
 /**
  * Renderer of {@link Double} value.
@@ -16,6 +17,8 @@ public final class RealNumberRenderer implements GridCellRenderer<BaseEntityMode
 {
     private static final int MAX_DIGITAL_FORMAT_LENGTH = 10;
 
+    private static final double MIN_DIGITAL_FORMAT_VALUE = 0.00005;
+
     private static final String SCIENTIFIC_FORMAT = "0.0000E0000";
 
     private static final String DIGITAL_FORMAT = "0.0000";
@@ -39,7 +42,14 @@ public final class RealNumberRenderer implements GridCellRenderer<BaseEntityMode
         {
             formattedValue = NumberFormat.getFormat(SCIENTIFIC_FORMAT).format(doubleValue);
         }
-        return formattedValue;
+        if (doubleValue < MIN_DIGITAL_FORMAT_VALUE)
+        {
+            formattedValue += "..."; // show 0.0000...
+        } else
+        {
+            formattedValue += "&nbsp;&nbsp;&nbsp;"; // add ' ' to always have a correct alignment
+        }
+        return MultilineHTML.wrapUpInDivWithTooltip(formattedValue, Double.toString(doubleValue));
     }
 
 }
-- 
GitLab