From df91e56bcf39a47b024279e808c643a7a1880b6a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Genevi=C3=A8ve=20Bastien?= Date: Fri, 8 Apr 2016 14:14:42 -0400 Subject: [PATCH] tmf.ui: Use the Y formatter to format tooltip values of XY charts MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://git.eclipse.org/r/70286 Reviewed-by: Hudson CI Reviewed-by: Matthew Khouzam Tested-by: Matthew Khouzam --- .../TmfCommonXLineChartTooltipProvider.java | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java index 10eff1938f..e0667942ec 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/xycharts/linecharts/TmfCommonXLineChartTooltipProvider.java @@ -12,6 +12,10 @@ 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'); } -- 2.34.1