tmf.ui: Use the Y formatter to format tooltip values of XY charts
authorGeneviève Bastien <gbastien+lttng@versatic.net>
Fri, 8 Apr 2016 18:14:42 +0000 (14:14 -0400)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Mon, 11 Apr 2016 20:43:26 +0000 (16:43 -0400)
The XY viewers with a formatter defined for the Y axis will now use this
formatter for the tooltip.

Change-Id: Ibd2987199f8af50297b1a3c00b6f41e4c333316f
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/70286
Reviewed-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java

index 10eff1938f7ec4b27da34948e82c6bf589a91ea1..e0667942ec7ac6e0a51ee58b95683cf0a98b9500 100644 (file)
 
 package org.eclipse.tracecompass.tmf.ui.viewers.xycharts.linecharts;
 
+import java.text.FieldPosition;
+import java.text.Format;
+import java.text.ParsePosition;
+
 import org.eclipse.swt.events.MouseEvent;
 import org.eclipse.swt.events.MouseTrackListener;
 import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
@@ -31,6 +35,25 @@ import org.swtchart.ISeries;
  */
 public class TmfCommonXLineChartTooltipProvider extends TmfBaseProvider implements MouseTrackListener {
 
+    private static final Format DEFAULT_FORMAT = new Format() {
+
+        /**
+         * Default serial ID
+         */
+        private static final long serialVersionUID = -6130622953193109057L;
+
+        @Override
+        public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
+            return toAppendTo.append(obj);
+        }
+
+        @Override
+        public Object parseObject(String source, ParsePosition pos) {
+            return source;
+        }
+
+    };
+
     /**
      * Constructor for the tooltip provider
      *
@@ -102,6 +125,10 @@ public class TmfCommonXLineChartTooltipProvider extends TmfBaseProvider implemen
             }
 
             /* set tooltip of closest data point */
+            Format format = getChart().getAxisSet().getYAxis(0).getTick().getFormat();
+            if (format == null) {
+                format = DEFAULT_FORMAT;
+            }
             StringBuffer buffer = new StringBuffer();
             buffer.append("time="); //$NON-NLS-1$
             buffer.append(new TmfTimestamp((long) xCoordinate + getChartViewer().getTimeOffset(), ITmfTimestamp.NANOSECOND_SCALE).toString());
@@ -116,7 +143,7 @@ public class TmfCommonXLineChartTooltipProvider extends TmfBaseProvider implemen
                 }
                 buffer.append(serie.getId());
                 buffer.append('=');
-                buffer.append(yS[index]);
+                buffer.append(format.format(yS[index]));
                 buffer.append('\n');
             }
 
This page took 0.027353 seconds and 5 git commands to generate.