From 3d1d58c7c62d8e5e870a648c98e7104374376511 Mon Sep 17 00:00:00 2001 From: "sanghyunnim.lee" Date: Tue, 3 Jul 2012 18:41:04 +0900 Subject: [PATCH] [Title]modify tooltip [Type]feature [Module] [Priority] [CQ#] [Redmine#]5682 [Problem] [Cause] [Solution] [TestCase] --- .../dynamicanalyzer/timeline/TempConstants.java | 4 +- .../timeline/TimelineItemManager.java | 222 +++------------------ .../dynamicanalyzer/timeline/chart/CPUChart.java | 2 +- .../timeline/chart/CPUCoreChart.java | 2 +- .../timeline/chart/CPUFrequencyChart.java | 2 +- .../dynamicanalyzer/timeline/chart/FileChart.java | 7 + .../dynamicanalyzer/timeline/chart/HeapChart.java | 3 + 7 files changed, 47 insertions(+), 195 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TempConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TempConstants.java index b2eeb8c..234f085 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TempConstants.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TempConstants.java @@ -38,8 +38,8 @@ public class TempConstants { } } -// public static final Color SELECTION_COLOR = new Color(0, 0, 255, 50); - public static final Color SELECTION_COLOR = new Color(0, 45, 59, 50); + public static final Color SELECTION_COLOR = new Color(240, 240, 240, 50); +// public static final Color SELECTION_COLOR = new Color(0, 45, 59, 50); public static final double WIFI_SET_VALUE = 0.97; public static final double BT_SET_VALUE = 0.92; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java index 8718133..6b23f8d 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java @@ -1,9 +1,5 @@ package org.tizen.dynamicanalyzer.timeline; -import java.awt.Graphics2D; -import java.awt.Paint; -import java.awt.Stroke; -import java.awt.geom.Line2D; import java.awt.geom.Rectangle2D; import java.util.ArrayList; import java.util.List; @@ -13,8 +9,6 @@ import org.eclipse.swt.custom.ScrolledComposite; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; -import org.eclipse.swt.events.MouseMoveListener; -import org.eclipse.swt.events.MouseTrackListener; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.GC; @@ -42,12 +36,10 @@ import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.IntervalMarker; import org.jfree.chart.plot.PlotRenderingInfo; -import org.jfree.chart.plot.ValueMarker; import org.jfree.chart.plot.XYPlot; import org.jfree.data.xy.XYSeries; import org.jfree.experimental.chart.swt.ChartComposite; import org.jfree.ui.Layer; -import org.jfree.ui.RectangleEdge; import org.tizen.dynamicanalyzer.AnalyzerManager; import org.tizen.dynamicanalyzer.ColorResources; import org.tizen.dynamicanalyzer.FontResources; @@ -95,8 +87,6 @@ public class TimelineItemManager { private IntervalMarker selectionMarker; private Shell tooltip; - private ValueMarker tooltipMarker; - private int tooltipValue; private double tempDownTime = TempConstants.NOT_INITED; private double tempUpTime = TempConstants.NOT_INITED; @@ -133,6 +123,12 @@ public class TimelineItemManager { return infoZoomLabel; } } + + private MouseAdapter tooltipMouseAdapter = new MouseAdapter() { + public void mouseUp(MouseEvent e) { + disposeTooltip(); + } + }; public TimelineItemManager() { chartManager = new TimelineChartManager(); @@ -242,14 +238,17 @@ public class TimelineItemManager { PlotRenderingInfo plotInfo = info.getPlotInfo(); XYPlot xyplot = itemChartComp.getChart().getXYPlot(); + ValueAxis domainAxis = xyplot.getDomainAxis(); Rectangle2D rect2D = plotInfo.getDataArea(); rect2D.setRect(rect2D.getX(), rect2D.getY(), canvas.getBounds().width - rect2D.getY(), rect2D.getHeight()); - Double selectionEndTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge()); - tempUpTime = selectionEndTime; + tempUpTime = domainAxis.java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge()); + tempUpTime = Math.round(tempUpTime); + int correctedX = (int)domainAxis.valueToJava2D(tempUpTime, rect2D, xyplot.getDomainAxisEdge()); + Double selectionEndTime = domainAxis.java2DToValue(correctedX, rect2D, xyplot.getDomainAxisEdge()); setSelectionMarkerEndVal(selectionEndTime); - sendSelectionTimes(); + sendSelectionTimes(e, correctedX); TimelineMaster.getInstance().highlightSelectedSnapshot(selectionMarker.getStartValue(), selectionMarker.getEndValue()); } @@ -267,13 +266,16 @@ public class TimelineItemManager { PlotRenderingInfo plotInfo = info.getPlotInfo(); XYPlot xyplot = itemChartComp.getChart().getXYPlot(); + ValueAxis domainAxis = xyplot.getDomainAxis(); Rectangle2D rect2D = plotInfo.getDataArea(); rect2D.setRect(rect2D.getX(), rect2D.getY(), canvas.getBounds().width - rect2D.getY(), rect2D.getHeight()); - tempDownTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge()); - Double selectionStartTime = xyplot.getDomainAxis().java2DToValue(e.x - TempConstants.MIN_SELECTION_HALF_WIDTH_PX, rect2D, + tempDownTime = domainAxis.java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge()); + tempDownTime = Math.round(tempDownTime); + int correctedX = (int)domainAxis.valueToJava2D(tempDownTime, rect2D, xyplot.getDomainAxisEdge()); + Double selectionStartTime = domainAxis.java2DToValue(correctedX - TempConstants.MIN_SELECTION_HALF_WIDTH_PX, rect2D, xyplot.getDomainAxisEdge()); - Double selectionEndTime = xyplot.getDomainAxis().java2DToValue(e.x + TempConstants.MIN_SELECTION_HALF_WIDTH_PX, rect2D, xyplot.getDomainAxisEdge()); + Double selectionEndTime = domainAxis.java2DToValue(correctedX + TempConstants.MIN_SELECTION_HALF_WIDTH_PX, rect2D, xyplot.getDomainAxisEdge()); selectionMarker.setStartValue(selectionStartTime); selectionMarker.setEndValue(selectionEndTime); @@ -284,160 +286,7 @@ public class TimelineItemManager { } }; - private MouseTrackListener chartMouseTrackListener = new MouseTrackListener() { - @Override - public void mouseHover(MouseEvent e) { - } - - @Override - public void mouseExit(MouseEvent e) { - disposeTooltip(); - // FIXME tooltip - // tooltipMarker.setValue(TempConstants.NOT_INITED); - } - - @Override - public void mouseEnter(MouseEvent e) { - Canvas canvas = (Canvas) e.getSource(); - ChartComposite itemChartComp = (ChartComposite) canvas.getParent(); - - if (itemChartComp.isDisposed()) { - return; - } - - ChartRenderingInfo info = itemChartComp.getChartRenderingInfo(); - PlotRenderingInfo plotInfo = info.getPlotInfo(); - - XYPlot xyplot = itemChartComp.getChart().getXYPlot(); - Rectangle2D rect2D = plotInfo.getDataArea(); - rect2D.setRect(rect2D.getX(), rect2D.getY(), canvas.getBounds().width - rect2D.getY(), rect2D.getHeight()); - - createTooltip(e); - - double chartX = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge()); - tooltipValue = getTooltipXPosition(chartX); - // FIXME tooltip - // tooltipMarker.setValue(tooltipValue); - - // FIXME - // Graphics2D g2 = (Graphics2D) itemChartComp.getChart(). - // createBufferedImage(canvas.getBounds().width, - // canvas.getBounds().height).getGraphics(); - // drawVerticalLine(g2, rect2D, 15, new BasicStroke(3), - // java.awt.Color.RED, xyplot); - // xyplot.draw(g2, rect2D, null, null, null); - } - }; - - @SuppressWarnings("unused") - private void drawVerticalLine(Graphics2D g2, Rectangle2D dataArea, double value, Stroke stroke, Paint paint, XYPlot xyplot) { - ValueAxis axis = xyplot.getDomainAxis(); - if (axis.getRange().contains(value)) { - double xx = axis.valueToJava2D(value, dataArea, RectangleEdge.BOTTOM); - Line2D line = new Line2D.Double(xx, dataArea.getMinY(), xx, dataArea.getMaxY()); - g2.setStroke(stroke); - g2.setPaint(paint); - g2.draw(line); - } - } - - private MouseMoveListener chartMouseMoveListener = new MouseMoveListener() { - @Override - public void mouseMove(MouseEvent e) { - Canvas canvas = (Canvas) e.getSource(); - ChartComposite itemChartComp = (ChartComposite) canvas.getParent(); - - if (itemChartComp.isDisposed()) { - return; - } - - ChartRenderingInfo info = itemChartComp.getChartRenderingInfo(); - PlotRenderingInfo plotInfo = info.getPlotInfo(); - - XYPlot xyplot = itemChartComp.getChart().getXYPlot(); - Rectangle2D rect2D = plotInfo.getDataArea(); - rect2D.setRect(rect2D.getX(), rect2D.getY(), canvas.getBounds().width - rect2D.getY(), rect2D.getHeight()); - - double x = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge()); - if (tooltipValue != getTooltipXPosition(x)) { - tooltipValue = getTooltipXPosition(x); - // FIXME tooltip - // tooltipMarker.setValue(tooltipValue); - - int chartID = (Integer) (itemChartComp.getData()); - List seriesList; - switch (chartID) { - case TimelineConstants.CHART_TYPE_CPU: - seriesList = CPUChart.getSeriesList(); - for (int i = 0; i < seriesList.size(); i++) { - double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue); - - indexInfoLabelList.get(i).setText(CPUChart.getTooltipContent(i, yValue)); - } - break; - case TimelineConstants.CHART_TYPE_CPU_CORE: - seriesList = CPUCoreChart.getSeriesList(); - int seriesSize = CPUCoreChart.getCoreSize() == TempConstants.NOT_INITED ? 4 : CPUCoreChart.getCoreSize(); - for (int i = 0; i < seriesSize; i++) { - double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue); - - indexInfoLabelList.get(i).setText(CPUCoreChart.getTooltipContent(i, yValue)); - } - break; - case TimelineConstants.CHART_TYPE_CPU_FREQUENCY: - seriesList = CPUFrequencyChart.getSeriesList(); - for (int i = 0; i < seriesList.size(); i++) { - double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue); - - indexInfoLabelList.get(i).setText(CPUFrequencyChart.getTooltipContent(i, yValue)); - } - break; - case TimelineConstants.CHART_TYPE_HEAP: - seriesList = HeapChart.getSeriesList(); - for (int i = 0; i < seriesList.size(); i++) { - double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue); - - indexInfoLabelList.get(i).setText(HeapChart.getTooltipContent(i, yValue)); - } - break; - case TimelineConstants.CHART_TYPE_PROCESS_SIZE: - seriesList = ProcessMemoryChart.getSeriesList(); - for (int i = 0; i < seriesList.size(); i++) { - double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue); - - indexInfoLabelList.get(i).setText(ProcessMemoryChart.getTooltipContent(i, yValue)); - } - break; - case TimelineConstants.CHART_TYPE_SYSTEM_MEMORY: - seriesList = SystemMemoryChart.getSeriesList(); - for (int i = 0; i < seriesList.size(); i++) { - double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue); - - indexInfoLabelList.get(i).setText(SystemMemoryChart.getTooltipContent(i, yValue)); - } - break; - case TimelineConstants.CHART_TYPE_FILE: - seriesList = FileChart.getSeriesList(); - for (int i = 0; i < seriesList.size(); i++) { - double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue); - - indexInfoLabelList.get(i).setText(FileChart.getTooltipContent(i, yValue)); - } - break; - } - } - - Point pt = itemChartComp.toDisplay(e.x, e.y); - Point size = tooltip.computeSize(SWT.DEFAULT, SWT.DEFAULT); - tooltip.setBounds(pt.x + TOOLTIP_MARGIN, pt.y - e.y + (itemChartComp.getBounds().height - size.y) / 2, size.x, size.y); - } - }; - - private int getTooltipXPosition(double x) { - return (int) (x + 0.5); - } - - private void createTooltip(MouseEvent e) { + private void createTooltip(MouseEvent e, int correctedX) { Canvas canvas = (Canvas) e.getSource(); ChartComposite itemChartComp = (ChartComposite) canvas.getParent(); @@ -448,7 +297,7 @@ public class TimelineItemManager { XYPlot xyplot = itemChartComp.getChart().getXYPlot(); Rectangle2D rect2D = plotInfo.getDataArea(); rect2D.setRect(rect2D.getX(), canvas.getBounds().y, canvas.getBounds().width - rect2D.getY(), canvas.getBounds().height); - double selectedTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge()); + double selectedTime = xyplot.getDomainAxis().java2DToValue(correctedX, rect2D, xyplot.getDomainAxisEdge()); Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); tooltip = new Shell(shell, SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL); @@ -460,6 +309,7 @@ public class TimelineItemManager { gridLayout.marginRight = MARGIN; gridLayout.verticalSpacing = SPACING; tooltip.setLayout(gridLayout); + tooltip.addMouseListener(tooltipMouseAdapter); Font indexInfoFont = new Font(Display.getDefault(), FontResources.ARIAL, 8, SWT.NORMAL); @@ -635,7 +485,7 @@ public class TimelineItemManager { */ if (show) { - showTooltip(itemChartComp, e.x, e.y); + showTooltip(itemChartComp, correctedX, e.y); } } @@ -686,14 +536,17 @@ public class TimelineItemManager { Composite IndexInfoComposite = new Composite(tooltip, SWT.NONE); IndexInfoComposite.setLayout(new RowLayout(SWT.HORIZONTAL)); + IndexInfoComposite.addMouseListener(tooltipMouseAdapter); Canvas indexCanvas = new Canvas(IndexInfoComposite, SWT.BORDER); indexCanvas.setBackground(getColorFromAwtColor(seriesColorList.get(i))); indexCanvas.setLayoutData(rowData); + indexCanvas.addMouseListener(tooltipMouseAdapter); Label indexLabel = new Label(IndexInfoComposite, SWT.NONE); indexLabel.setFont(indexInfoFont); indexInfoLabelList.add(indexLabel); + indexLabel.addMouseListener(tooltipMouseAdapter); double yValue = getYbyX(seriesList.get(i).toArray(), selectedTime); @@ -783,7 +636,6 @@ public class TimelineItemManager { } selectionMarker = null; - tooltipMarker = null; TimelineMaster.getInstance().clearChartPlot(); } @@ -917,10 +769,6 @@ public class TimelineItemManager { TimelineMaster.getInstance().setSelectionMarker(selectionMarker); } - private void initTooltipMarker() { - tooltipMarker = new ValueMarker(TempConstants.NOT_INITED); - } - private void setSelectionMarkerEndVal(Double endTime) { double selectionMarkerStartValue = selectionMarker.getStartValue(); double selectionMarkerEndValue = selectionMarker.getEndValue(); @@ -942,7 +790,7 @@ public class TimelineItemManager { } } - private void sendSelectionTimes() { + private void sendSelectionTimes(MouseEvent e, int correctedX) { long coolBarTime = CoolbarArea.getInstance().getTime(); if (tempDownTime == tempUpTime) { @@ -950,6 +798,9 @@ public class TimelineItemManager { if (time <= coolBarTime) { AnalyzerManager.getCurrentPage().updatePage(new DASelectionData(TimelineComposite.ID, time, time, null, null)); } + + disposeTooltip(); + createTooltip(e, correctedX); } else { long startTime = (long) (selectionMarker.getStartValue() * TimelineConstants.TIME_SEC_TO_MS * TimelineConstants.TIME_SEC_TO_MS); long endTime = (long) (selectionMarker.getEndValue() * TimelineConstants.TIME_SEC_TO_MS * TimelineConstants.TIME_SEC_TO_MS); @@ -957,6 +808,9 @@ public class TimelineItemManager { if (endTime > coolBarTime) { endTime = coolBarTime; } + if(startTime < 0) { + startTime = 0; + } AnalyzerManager.getCurrentPage().updatePage(new DASelectionData(TimelineComposite.ID, startTime, endTime, null, null)); } } @@ -1193,19 +1047,11 @@ public class TimelineItemManager { /* Add Listener */ itemChartComposite.addSWTListener(itemMouseListener); - itemChartComposite.addSWTListener(chartMouseTrackListener); - itemChartComposite.addSWTListener(chartMouseMoveListener); if (selectionMarker == null) { initSelectionMarker(); } - if (tooltipMarker == null) { - initTooltipMarker(); - } itemChartComposite.getChart().getXYPlot().addDomainMarker(selectionMarker, Layer.FOREGROUND); - // FIXME tooltip - // itemChartComposite.getChart().getXYPlot().addDomainMarker(tooltipMarker, - // Layer.FOREGROUND); TimelineMaster.getInstance().addChartPlot(itemChartComposite.getChart().getXYPlot()); iteminfo.infoComp = itemInfoComp; @@ -1222,11 +1068,7 @@ public class TimelineItemManager { for (int i = 0; i < ItemList.size(); i++) { if (null != ItemList.get(i).chartComp && !ItemList.get(i).chartComp.isDisposed()) { ItemList.get(i).chartComp.removeMouseListener(itemMouseListener); - ItemList.get(i).chartComp.removeMouseTrackListener(chartMouseTrackListener); - ItemList.get(i).chartComp.removeMouseMoveListener(chartMouseMoveListener); ItemList.get(i).chartComp.getChart().getXYPlot().removeDomainMarker(selectionMarker); - // FIXME tooltip - // ItemList.get(i).chartComp.getChart().getXYPlot().removeDomainMarker(tooltipMarker); } } ItemList.clear(); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUChart.java index 9309d6e..ad23f1a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUChart.java @@ -201,7 +201,7 @@ public class CPUChart extends TimelineChart { try { time = (long)Double.parseDouble(log.get(LogCenterConstants.DEVICE_TIME_INDEX)) / TimelineConstants.TIME_US_TO_MS / TimelineConstants.TIME_US_TO_MS; String[] cpuRates = log.get(LogCenterConstants.DEVICE_SYSTEM_CPU_USAGE_INDEX).split(","); //$NON-NLS-1$ - systemAvgLoad = Double.parseDouble(cpuRates[cpuRates.length - 1].trim()); + systemAvgLoad = Double.parseDouble(cpuRates[cpuRates.length - 1]); } catch (NumberFormatException ne) { ne.printStackTrace(); } catch (NullPointerException ne) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUCoreChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUCoreChart.java index 1aba1a0..803896d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUCoreChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUCoreChart.java @@ -244,7 +244,7 @@ public class CPUCoreChart extends TimelineChart { } for(int i = 0; i < coreSize; i++) { - coreInfos[i].newXYDataItems.add(new XYDataItem(time, Double.parseDouble(cpuRates[i].trim()))); + coreInfos[i].newXYDataItems.add(new XYDataItem(time, Double.parseDouble(cpuRates[i]))); } } catch (NumberFormatException ne) { ne.printStackTrace(); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUFrequencyChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUFrequencyChart.java index f21ebf1..50136cf 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUFrequencyChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/CPUFrequencyChart.java @@ -147,7 +147,7 @@ public class CPUFrequencyChart extends TimelineChart { try { time = Double.parseDouble(log.get(LogCenterConstants.DEVICE_TIME_INDEX)) / TimelineConstants.TIME_US_TO_MS / TimelineConstants.TIME_US_TO_MS; String[] cpuFreqs = log.get(LogCenterConstants.DEVICE_CPU_FREQUENCY_INDEX).split(","); //$NON-NLS-1$ - freq1 = Double.parseDouble(cpuFreqs[0].trim()); + freq1 = Double.parseDouble(cpuFreqs[0]); } catch (NumberFormatException ne) { ne.printStackTrace(); } catch (NullPointerException ne) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/FileChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/FileChart.java index 2231d1d..6829f6f 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/FileChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/FileChart.java @@ -180,6 +180,13 @@ public class FileChart extends TimelineChart { readInfo.newXYDataItems.clear(); writeInfo.newXYDataItems.clear(); fdCountInfo.newXYDataItems.clear(); + + maxFDCount = MIN_FDCOUNT; + + readByte = 0; + writeByte = 0; + + fdCount = 0; Display.getDefault().asyncExec(new Runnable() { @Override diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/HeapChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/HeapChart.java index 3f7f57f..b924fa3 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/HeapChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/chart/HeapChart.java @@ -136,6 +136,9 @@ public class HeapChart extends TimelineChart { public void clear() { totalAllocationInfo.newXYDataItems.clear(); userAllocationInfo.newXYDataItems.clear(); + + allocByte = 0; + allocationInfoMap.clear(); Display.getDefault().asyncExec(new Runnable() { @Override -- 2.7.4