[Title] disable tooltip marker
authorsanghyunnim.lee <sanghyunnim.lee@samsung.com>
Mon, 25 Jun 2012 09:29:43 +0000 (18:29 +0900)
committersanghyunnim.lee <sanghyunnim.lee@samsung.com>
Mon, 25 Jun 2012 09:29:43 +0000 (18:29 +0900)
[Type]
[Module]
[Priority]
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 09f77aa..9cc5670
@@ -1,5 +1,9 @@
 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;
@@ -35,6 +39,7 @@ import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.Shell;
 import org.jfree.chart.ChartRenderingInfo;
 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;
@@ -42,6 +47,7 @@ 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;
@@ -137,7 +143,6 @@ public class TimelineItemManager {
                indexInfoLabelList = new ArrayList<Label>(4);
 
                initSelectionMarker();
-               tooltipMarker = new ValueMarker(TempConstants.NOT_INITED);
        }
 
        private Listener areaResizeListener = new Listener() {
@@ -288,7 +293,8 @@ public class TimelineItemManager {
                @Override
                public void mouseExit(MouseEvent e) {
                        disposeTooltip();
-                       tooltipMarker.setValue(TempConstants.NOT_INITED);
+                       //FIXME tooltip
+//                     tooltipMarker.setValue(TempConstants.NOT_INITED);
                }
 
                @Override
@@ -311,11 +317,29 @@ public class TimelineItemManager {
 
                        double chartX = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
                        tooltipValue = getTooltipXPosition(chartX);
-                       
-                       tooltipMarker.setValue(tooltipValue);
+                       //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) {
@@ -336,8 +360,8 @@ public class TimelineItemManager {
                        double x = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
                        if(tooltipValue != getTooltipXPosition(x)) {
                                tooltipValue = getTooltipXPosition(x);
-                               
-                               tooltipMarker.setValue(tooltipValue);
+                               //FIXME tooltip
+//                             tooltipMarker.setValue(tooltipValue);
                                
                                int chartID = (Integer) (itemChartComp.getData());
                                List<XYSeries> seriesList;
@@ -345,8 +369,7 @@ public class TimelineItemManager {
                                case TimelineConstants.CHART_TYPE_CPU:
                                        seriesList = CPUChart.getSeriesList();
                                        for(int i = 0; i < seriesList.size(); i++) {
-                                               double selectedTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
-                                               double yValue = getYbyX(seriesList.get(i).toArray(), selectedTime);
+                                               double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue);
                                                
                                                indexInfoLabelList.get(i).setText(CPUChart.getTooltipContent(i, yValue));
                                        }
@@ -355,8 +378,7 @@ public class TimelineItemManager {
                                        seriesList = CPUCoreChart.getSeriesList();
                                        int seriesSize = CPUCoreChart.getCoreSize() == TempConstants.NOT_INITED ? 4 : CPUCoreChart.getCoreSize();
                                        for(int i = 0; i < seriesSize; i++) {
-                                               double selectedTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
-                                               double yValue = getYbyX(seriesList.get(i).toArray(), selectedTime);
+                                               double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue);
                                                
                                                indexInfoLabelList.get(i).setText(CPUCoreChart.getTooltipContent(i, yValue));
                                        }
@@ -364,8 +386,7 @@ public class TimelineItemManager {
                                case TimelineConstants.CHART_TYPE_CPU_FREQUENCY:
                                        seriesList = CPUFrequencyChart.getSeriesList();
                                        for(int i = 0; i < seriesList.size(); i++) {
-                                               double selectedTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
-                                               double yValue = getYbyX(seriesList.get(i).toArray(), selectedTime);
+                                               double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue);
                                                
                                                indexInfoLabelList.get(i).setText(CPUFrequencyChart.getTooltipContent(i, yValue));
                                        }
@@ -373,8 +394,7 @@ public class TimelineItemManager {
                                case TimelineConstants.CHART_TYPE_HEAP:
                                        seriesList = HeapChart.getSeriesList();
                                        for(int i = 0; i < seriesList.size(); i++) {
-                                               double selectedTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
-                                               double yValue = getYbyX(seriesList.get(i).toArray(), selectedTime);
+                                               double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue);
                                                
                                                indexInfoLabelList.get(i).setText(HeapChart.getTooltipContent(i, yValue));
                                        }
@@ -382,8 +402,7 @@ public class TimelineItemManager {
                                case TimelineConstants.CHART_TYPE_PROCESS_SIZE:
                                        seriesList = ProcessMemoryChart.getSeriesList();
                                        for(int i = 0; i < seriesList.size(); i++) {
-                                               double selectedTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
-                                               double yValue = getYbyX(seriesList.get(i).toArray(), selectedTime);
+                                               double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue);
                                                
                                                indexInfoLabelList.get(i).setText(ProcessMemoryChart.getTooltipContent(i, yValue));
                                        }
@@ -391,8 +410,7 @@ public class TimelineItemManager {
                                case TimelineConstants.CHART_TYPE_SYSTEM_MEMORY:
                                        seriesList = SystemMemoryChart.getSeriesList();
                                        for(int i = 0; i < seriesList.size(); i++) {
-                                               double selectedTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
-                                               double yValue = getYbyX(seriesList.get(i).toArray(), selectedTime);
+                                               double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue);
                                                
                                                indexInfoLabelList.get(i).setText(SystemMemoryChart.getTooltipContent(i, yValue));
                                        }
@@ -400,8 +418,7 @@ public class TimelineItemManager {
                                case TimelineConstants.CHART_TYPE_FILE:
                                        seriesList = FileChart.getSeriesList();
                                        for(int i = 0; i < seriesList.size(); i++) {
-                                               double selectedTime = xyplot.getDomainAxis().java2DToValue(e.x, rect2D, xyplot.getDomainAxisEdge());
-                                               double yValue = getYbyX(seriesList.get(i).toArray(), selectedTime);
+                                               double yValue = getYbyX(seriesList.get(i).toArray(), tooltipValue);
                                                
                                                indexInfoLabelList.get(i).setText(FileChart.getTooltipContent(i, yValue));
                                        }
@@ -751,6 +768,7 @@ public class TimelineItemManager {
                }
 
                selectionMarker = null;
+               tooltipMarker = null;
 
                TimelineMaster.getInstance().clearChartPlot();
        }
@@ -884,6 +902,10 @@ 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();
@@ -1162,8 +1184,12 @@ public class TimelineItemManager {
                if (selectionMarker == null) {
                        initSelectionMarker();
                }
+               if(tooltipMarker == null) {
+                       initTooltipMarker();
+               }
                itemChartComposite.getChart().getXYPlot().addDomainMarker(selectionMarker, Layer.FOREGROUND);
-               itemChartComposite.getChart().getXYPlot().addDomainMarker(tooltipMarker, Layer.FOREGROUND);
+               //FIXME tooltip
+//             itemChartComposite.getChart().getXYPlot().addDomainMarker(tooltipMarker, Layer.FOREGROUND);
                TimelineMaster.getInstance().addChartPlot(itemChartComposite.getChart().getXYPlot());
 
                iteminfo.infoComp = itemInfoComp;
@@ -1183,7 +1209,8 @@ public class TimelineItemManager {
                                ItemList.get(i).chartComp.removeMouseTrackListener(chartMouseTrackListener);
                                ItemList.get(i).chartComp.removeMouseMoveListener(chartMouseMoveListener);
                                ItemList.get(i).chartComp.getChart().getXYPlot().removeDomainMarker(selectionMarker);
-                               ItemList.get(i).chartComp.getChart().getXYPlot().removeDomainMarker(tooltipMarker);
+                               //FIXME tooltip
+//                             ItemList.get(i).chartComp.getChart().getXYPlot().removeDomainMarker(tooltipMarker);
                        }
                }
                ItemList.clear();
@@ -1263,52 +1290,51 @@ public class TimelineItemManager {
                composite.setBackgroundImage(itemImage);
        }
 
-       // private void setItemInfoGradientBGselected(Composite composite) {
-       //
-       // if (null == composite || composite.isDisposed()) {
-       // return;
-       // }
-       //
-       // Rectangle rect = composite.getClientArea();
-       //
-       // if (null == selectedItemImage) {
-       // selectedItemImage = new Image(composite.getDisplay(), 1, Math.max(1,
-       // rect.height));
-       // GC gc = new GC(selectedItemImage);
-       // gc.setForeground(ColorResources.ITEM_BLUE_BRIGHT); // brighter
-       // gc.setBackground(ColorResources.ITEM_BLUE_DARK); // darker
-       //
-       // gc.fillGradientRectangle(0, 0, 1, rect.height, true);
-       // gc.dispose();
-       // } else if (selectedItemImage.getBounds().height != rect.height) {
-       //
-       // selectedItemImage.dispose();
-       // selectedItemImage = new Image(composite.getDisplay(), 1, Math.max(1,
-       // rect.height));
-       // GC gc = new GC(selectedItemImage);
-       // gc.setForeground(ColorResources.ITEM_BLUE_BRIGHT); // brighter
-       // gc.setBackground(ColorResources.ITEM_BLUE_DARK); // darker
-       //
-       // gc.fillGradientRectangle(0, 0, 1, rect.height, true);
-       // gc.dispose();
-       // }
-       //
-       // composite.setBackgroundImage(selectedItemImage);
-       // }
-
-       // private void setItemInfoSelectedLine(ItemInfo info, boolean isSelected) {
-       // ChartComposite chartComp = info.chartComp;
-       //
-       // if (null == chartComp || null == chartComp.getChart()) {
-       // return;
-       // }
-       //
-       // if (isSelected) {
-       // chartComp.getChart().setBackgroundPaint(ColorResources.ITEM_BLUE_AWT);
-       // } else {
-       // chartComp.getChart().setBackgroundPaint(ColorResources.ITEM_BG_AWT);
-       // }
-       // }
+       @SuppressWarnings("unused")
+       private void setItemInfoGradientBGselected(Composite composite) {
+               if (null == composite || composite.isDisposed()) {
+                       return;
+               }
+
+               Rectangle rect = composite.getClientArea();
+
+               if (null == selectedItemImage) {
+                       selectedItemImage = new Image(composite.getDisplay(), 1, Math.max(1, rect.height));
+                       GC gc = new GC(selectedItemImage);
+                       gc.setForeground(ColorResources.ITEM_BLUE_BRIGHT); // brighter
+                       gc.setBackground(ColorResources.ITEM_BLUE_DARK); // darker
+
+                       gc.fillGradientRectangle(0, 0, 1, rect.height, true);
+                       gc.dispose();
+               } else if (selectedItemImage.getBounds().height != rect.height) {
+
+                       selectedItemImage.dispose();
+                       selectedItemImage = new Image(composite.getDisplay(), 1, Math.max(1, rect.height));
+                       GC gc = new GC(selectedItemImage);
+                       gc.setForeground(ColorResources.ITEM_BLUE_BRIGHT); // brighter
+                       gc.setBackground(ColorResources.ITEM_BLUE_DARK); // darker
+
+                       gc.fillGradientRectangle(0, 0, 1, rect.height, true);
+                       gc.dispose();
+               }
+
+               composite.setBackgroundImage(selectedItemImage);
+       }
+
+       @SuppressWarnings("unused")
+       private void setItemInfoSelectedLine(ItemInfo info, boolean isSelected) {
+               ChartComposite chartComp = info.chartComp;
+
+               if (null == chartComp || null == chartComp.getChart()) {
+                       return;
+               }
+
+               if (isSelected) {
+                       chartComp.getChart().setBackgroundPaint(ColorResources.ITEM_BLUE_AWT);
+               } else {
+                       chartComp.getChart().setBackgroundPaint(ColorResources.ITEM_BG_AWT);
+               }
+       }
 
        private void setItemSize(ItemInfo itemInfo, int width, int SIZE_MODE) {
                if (null == itemInfo) {