sysperfana/memspyext/com.nokia.s60tools.swmtanalyser/src/com/nokia/s60tools/swmtanalyser/ui/graphs/LinearIssuesGraph.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Wed, 21 Apr 2010 20:01:08 +0300
changeset 7 8e12a575a9b5
permissions -rw-r--r--
MemSpy Carbide Extension 1.6.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
* Contributors:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
* Description: 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
*
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
*/
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
package com.nokia.s60tools.swmtanalyser.ui.graphs;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
import java.text.DecimalFormat;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
import java.util.ArrayList;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
import java.util.HashMap;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
import java.util.List;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import org.eclipse.draw2d.ColorConstants;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
import org.eclipse.draw2d.FigureCanvas;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
import org.eclipse.draw2d.FlowLayout;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import org.eclipse.draw2d.Graphics;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import org.eclipse.draw2d.Panel;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
import org.eclipse.draw2d.Polyline;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import org.eclipse.draw2d.geometry.PointList;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import org.eclipse.draw2d.geometry.Rectangle;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
import org.eclipse.jface.action.Action;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
import org.eclipse.jface.action.IAction;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
import org.eclipse.jface.action.IMenuListener;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
import org.eclipse.jface.action.IMenuManager;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
import org.eclipse.jface.action.MenuManager;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
import org.eclipse.jface.action.Separator;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
import org.eclipse.swt.SWT;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
import org.eclipse.swt.events.ControlAdapter;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
import org.eclipse.swt.events.ControlEvent;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
import org.eclipse.swt.events.MouseEvent;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
import org.eclipse.swt.events.MouseMoveListener;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
import org.eclipse.swt.events.PaintEvent;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
import org.eclipse.swt.events.PaintListener;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
import org.eclipse.swt.events.SelectionEvent;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
import org.eclipse.swt.events.SelectionListener;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
import org.eclipse.swt.graphics.Color;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
import org.eclipse.swt.graphics.Drawable;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
import org.eclipse.swt.graphics.GC;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
import org.eclipse.swt.graphics.Image;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
import org.eclipse.swt.graphics.Point;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
import org.eclipse.swt.graphics.RGB;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
import org.eclipse.swt.graphics.Transform;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
import org.eclipse.swt.layout.FormAttachment;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
import org.eclipse.swt.layout.FormData;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
import org.eclipse.swt.layout.FormLayout;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
import org.eclipse.swt.widgets.Composite;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
import org.eclipse.swt.widgets.Control;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
import org.eclipse.swt.widgets.Display;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
import org.eclipse.swt.widgets.Menu;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
import org.eclipse.swt.widgets.ScrollBar;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
import com.nokia.s60tools.swmtanalyser.analysers.ResultElements;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
import com.nokia.s60tools.swmtanalyser.data.ParsedData;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
import com.nokia.s60tools.swmtanalyser.model.SWMTLogReaderUtils;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
import com.nokia.s60tools.swmtanalyser.ui.graphs.GenericGraph.EventTypes;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
import com.nokia.s60tools.ui.IImageProvider;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
import com.nokia.s60tools.ui.actions.CopyImageToClipboardAction;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
import com.nokia.s60tools.util.debug.DbgUtility;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
 * Graph to be shown in Analysis tab.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
public class LinearIssuesGraph extends ZoomableGraph implements MouseMoveListener, IImageProvider {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    75
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    76
	private static DecimalFormat MBformat = new DecimalFormat("#####.0");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
	private static DecimalFormat Bytes_Format = new DecimalFormat("#####.##");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    78
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    79
	private HashMap<ResultElements, Polyline> pointsData = new HashMap<ResultElements, Polyline>();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    80
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    81
	private Composite parentComposite;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
	private FigureCanvas yAxis;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
	private FigureCanvas numberAxis;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
	private FigureCanvas figureCanvas;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
	private int[] timeSamples;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
	private ArrayList<ResultElements> selectedIssues;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
	private boolean scalingNeeded;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    88
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    89
	private double visY;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
	private int maxBytes = 10;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
	private int maxCount = 10;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
	private double scale = 1.0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
	private int timeOffset = 0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    94
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    95
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
	 * Construction
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
	 * @param composite
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
	public LinearIssuesGraph(Composite composite)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   100
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
		this.parentComposite = composite;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   104
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   105
	 * Draw the area
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
	public void constructGraphArea()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
	{		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
		if(parentComposite == null)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
			return;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
		Control [] children = parentComposite.getChildren();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
		if(children != null)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
			for(Control child:children)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
				child.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
		calculateMultiplier();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
	    scalingNeeded = true;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
		Composite parent = new Composite(parentComposite, SWT.NONE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
		parent.setLayout(new FormLayout());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
		yAxis = new FigureCanvas(parent);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
		numberAxis = new FigureCanvas(parent);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
		figureCanvas = new FigureCanvas(parent);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
		FormData formData = new FormData();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
		formData.top = new FormAttachment(0);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
		formData.bottom = new FormAttachment(100);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
		formData.left   = new FormAttachment(0);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
		formData.width  = 50;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
		numberAxis.setLayoutData(formData);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
		formData = new FormData();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
		formData.top = new FormAttachment(0);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
		formData.bottom = new FormAttachment(100);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
		formData.left   = new FormAttachment(numberAxis);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
		formData.width  = 60;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
		yAxis.setLayoutData(formData);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
		formData = new FormData();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
		formData.top = new FormAttachment(0);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
		formData.bottom = new FormAttachment(100);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
		formData.left   = new FormAttachment(yAxis, 0, SWT.RIGHT);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
		formData.right  = new FormAttachment(100);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
		figureCanvas.setLayoutData(formData);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
		yAxis.setBackground(ColorConstants.white);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
		numberAxis.setBackground(ColorConstants.white);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
		yAxis.addPaintListener(new PaintListener()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
			public void paintControl(PaintEvent event) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
				GC localGC = event.gc;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   159
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
				org.eclipse.swt.graphics.Rectangle rect = figureCanvas.getClientArea();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
				visY  = rect.height - CommonGraphConstants.XLEGENDSPACE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
						
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
				double yIncrement = visY / 10;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
				int previousBottom = 0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
				double multiplier = GraphsUtils.prettyMaxBytes(maxBytes)/visY;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
				for (int k = 10; k >= 0; k--)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
				{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
					// location for the value indicator is k * 1/10 the height of the display
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
					int y = (int) (visY - (yIncrement * k));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
					int bytes = (int)(yIncrement * multiplier) * k;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
					String legend = "";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
					
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
					if (maxBytes < 10000)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
					{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
						legend += bytes + " B"; //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
					}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
					else if (maxBytes <= 500 * 1024)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
					{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
						legend += (bytes / 1024) + " KB"; //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
					}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
					else
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
					{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
						legend +=  MBformat.format(((float) bytes / (1024 * 1024)))  + " MB"; //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
					}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   189
										
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   190
					Point extent = localGC.stringExtent(legend);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   191
					
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
					localGC.drawLine(CommonGraphConstants.YLEGENDSPACE - 3, (int)y + 1, 60, (int)y + 1);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   193
					
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
					if (y >= previousBottom)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
					{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
						localGC.drawString(legend, 60 - extent.x -2, (int)y);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
						previousBottom = (int)y + extent.y;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
					}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   199
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   200
				localGC.setLineWidth(2);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   201
				localGC.drawLine(CommonGraphConstants.YLEGENDSPACE, 0, 60, rect.height);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   202
							
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   203
				final Image image = GraphsUtils.getDoubleYAxisVerticalLabel("Bytes");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   204
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   205
			    localGC.setAdvanced(true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   206
			    final org.eclipse.swt.graphics.Rectangle rect2 = image.getBounds();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   207
		        Transform transform = new Transform(Display.getDefault());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   208
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   209
		        transform.translate(rect2.height / 2f, rect2.width / 2f);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   210
		        transform.rotate(-90);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   211
		        transform.translate(-rect2.width / 2f, -rect2.height / 2f);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   212
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   213
		        localGC.setTransform(transform);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   214
		        localGC.drawImage(image, -(int)visY/3, 1);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   215
		        
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   216
		        transform.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   217
		        localGC.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   218
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   219
		});
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   220
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   221
		numberAxis.addPaintListener(new PaintListener()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   222
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   223
			public void paintControl(PaintEvent event) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   224
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   225
				GC localGC = event.gc;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   226
				org.eclipse.swt.graphics.Rectangle rect = figureCanvas.getClientArea();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   227
				visY  = rect.height - CommonGraphConstants.XLEGENDSPACE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   228
				double yIncrement = visY / 10;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   229
				int previousBottom = 0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   230
				double multiplier = GraphsUtils.roundToNearestNumber(maxCount)/visY;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   231
				for (int k = 10; k >= 0; k--)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   232
				{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   233
					// location for the value indicator is k * 1/10 the height of the display
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   234
					int y = (int) (visY - (yIncrement * k));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   235
					int yValue = (int)(yIncrement * multiplier) * k;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   236
					String legend = yValue + "";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   237
					Point extent = localGC.stringExtent(legend);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   238
					localGC.drawLine(50 - 3, (int)y + 1, 50, (int)y + 1);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   239
					if (y >= previousBottom)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   240
					{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   241
						localGC.drawString(legend, 50 - extent.x -2, (int)y);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   242
						previousBottom = (int)y + extent.y;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   243
					}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   244
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   245
				localGC.setLineWidth(2);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   246
				localGC.drawLine(50, 0, 50, rect.height);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   247
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   248
				final Image image = GraphsUtils.getDoubleYAxisVerticalLabel("Count");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   249
				localGC.setAdvanced(true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   250
			    final org.eclipse.swt.graphics.Rectangle rect2 = image.getBounds();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   251
		        Transform transform = new Transform(Display.getDefault());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   252
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   253
		        transform.translate(rect2.height / 2f, rect2.width / 2f);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   254
		        transform.rotate(-90);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   255
		        transform.translate(-rect2.width / 2f, -rect2.height / 2f);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   256
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   257
		        localGC.setTransform(transform);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   258
		        localGC.drawImage(image, -(int)visY/3, 10);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   259
		        
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   260
		        transform.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   261
		        localGC.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   262
		        
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   263
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   264
		});
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   265
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   266
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   267
		figureCanvas.setBackground(ColorConstants.white);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   268
		Panel panel = new Panel()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   269
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   270
			public void paint(Graphics graphics)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   271
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   272
//				DbgUtility.println(DbgUtility.PRIORITY_LOOP, "LinearIssuesGraph/Panel/paint START");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   273
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   274
				drawBackGroundLines(figureCanvas,graphics);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   275
				paintData(graphics);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   276
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   277
//				DbgUtility.println(DbgUtility.PRIORITY_LOOP, "LinearIssuesGraph/Panel/paint END");				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   278
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   279
		};
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   280
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   281
		panel.setLayoutManager(new FlowLayout());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   282
		figureCanvas.setContents(panel);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   283
		figureCanvas.addMouseMoveListener(this);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   284
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   285
		final ScrollBar horizontalBar = figureCanvas.getHorizontalBar();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   286
		horizontalBar.addSelectionListener(new SelectionListener()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   287
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   288
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   289
			public void widgetDefaultSelected(SelectionEvent arg0) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   290
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   291
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   292
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   293
			public void widgetSelected(SelectionEvent event) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   294
				timeOffset = figureCanvas.getViewport().getViewLocation().x;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   295
				figureCanvas.redraw();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   296
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   297
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   298
		});
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   299
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   300
		figureCanvas.addControlListener(new ControlAdapter()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   301
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   302
			public void controlResized(ControlEvent e) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   303
				horizontalBar.setPageIncrement(figureCanvas.getBounds().width);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   304
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   305
				if(scalingNeeded)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   306
				{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   307
					zoomGraph();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   308
					scalingNeeded = false;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   309
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   310
				//setNewSize();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   311
				yAxis.redraw();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   312
				numberAxis.redraw();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   313
				figureCanvas.redraw();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   314
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   315
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   316
		});
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   317
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   318
		zoomGraph();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   319
		figureCanvas.redraw();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   320
		hookContextMenu();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   321
		parentComposite.layout(true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   322
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   323
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   324
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   325
	 * Draw background lines on the canvas
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   326
	 * @param canvas
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   327
	 * @param graphics
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   328
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   329
	public void drawBackGroundLines(FigureCanvas canvas, Graphics graphics)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   330
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   331
		Rectangle canvasRect = graphics.getClip(new org.eclipse.draw2d.geometry.Rectangle());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   332
	  	graphics.setForegroundColor(new Color(Display.getDefault(), new RGB(200, 200, 200)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   333
	 	graphics.setBackgroundColor(new Color(Display.getDefault(), new RGB(170,170,170)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   334
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   335
	  	int height = canvas.getClientArea().height;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   336
	  	int width = canvas.getClientArea().width;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   337
	  	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   338
	  	graphics.fillRectangle(new Rectangle(canvasRect.x,0,width, height-50));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   339
	  	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   340
	    double visY = height - CommonGraphConstants.XLEGENDSPACE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   341
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   342
		int k = 0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   343
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   344
		for (float y = 0; k <= 10; y += visY * 10000 / 100001, k++)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   345
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   346
			for(int x = canvasRect.x; x <= canvasRect.x + canvasRect.width; x += 5)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   347
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   348
				if ((x / 5) % 2 == 0) graphics.drawLine(x, ((int)y) + 1, x + 5, ((int)y) + 1);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   349
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   350
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   351
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   352
		graphics.setForegroundColor(new Color(Display.getDefault(), new RGB(100, 100, 100)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   353
		graphics.setBackgroundColor(new Color(Display.getDefault(),new RGB(255, 255, 255)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   354
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   355
		// horizontal lines
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   356
		if (width > 0)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   357
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   358
			for (int x = 0; x <= canvasRect.x + canvasRect.width; x += 50)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   359
			{	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   360
				if (x % 100 == 0)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   361
					graphics.setForegroundColor(new Color(Display.getDefault(), new RGB(100, 100, 100)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   362
				else
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   363
					graphics.setForegroundColor(new Color(Display.getDefault(),new RGB(200, 200, 200)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   364
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   365
				for (int y = 0; y < height; y += 5)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   366
				{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   367
					if ((y / 5) % 2 == 0)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   368
						graphics.drawLine(x, y, x, y + 5);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   369
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   370
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   371
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   372
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   373
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   374
		graphics.setForegroundColor(new Color(Display.getDefault(), new RGB(100, 100, 100)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   375
		graphics.setBackgroundColor(new Color(Display.getDefault(),new RGB(255, 255, 255)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   376
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   377
		for (int x = 0; x <= canvasRect.x + canvasRect.width; x += 50)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   378
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   379
			double time = (double) x;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   380
			TimeObject timeObj = new TimeObject(time, scale);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   381
			graphics.drawString(timeObj.getHourMinutesAndSeconds(), x + 5, height - 13);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   382
			if(timeObj.hasDays()){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   383
				graphics.drawString(timeObj.getDays(), x + 5, height - 26);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   384
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   385
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   386
		Image img = GraphsUtils.getDoubleYAxisVerticalLabel(GenericGraph.TIME_X_AXIS_LABEL);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   387
		graphics.drawImage(img, width/2, height-30);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   388
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   389
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   390
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   391
	private void paintData(Graphics graphics)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   392
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   393
		DbgUtility.println(DbgUtility.PRIORITY_LOOP, this.getClass().getSimpleName() + "/paintData START");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   394
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   395
		try
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   396
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   397
			Rectangle canvasRect = graphics.getClip(new org.eclipse.draw2d.geometry.Rectangle());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   398
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   399
			if(this.selectedIssues == null || selectedIssues.size() == 0)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   400
				return;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   401
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   402
			int [] listX = timeSamples;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   403
			int k = 0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   404
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   405
			calculateMultiplier();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   406
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   407
			// Storing original graphics settings
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   408
			Color origColor = graphics.getForegroundColor();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   409
			int origLineWidth = graphics.getLineWidth();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   410
			// Setting line width for drawing the graph
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   411
			graphics.setLineWidth(CommonGraphConstants.DEFAULT_GRAPH_LINE_WIDTH);				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   412
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   413
			for(ResultElements item:selectedIssues)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   414
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   415
				long [] valuesToBePlotted = item.getEventValues();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   416
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   417
				if(valuesToBePlotted == null)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   418
					continue;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   419
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   420
				double visY = canvasRect.height - CommonGraphConstants.XLEGENDSPACE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   421
				double multiplier = 1;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   422
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   423
				EventTypes eventType = GraphsUtils.getMappedEvent(item.getEvent());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   424
					
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   425
				switch (eventType)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   426
				{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   427
					case NO_OF_FILES:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   428
					case NO_OF_PSHANDLES:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   429
					case HEAP_ALLOC_CELL_COUNT:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   430
					case HEAP_FREE_CELL_COUNT:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   431
					case SYSTEM_DATA:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   432
						multiplier = GraphsUtils.roundToNearestNumber(maxCount)/visY;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   433
						break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   434
					default:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   435
						multiplier = GraphsUtils.prettyMaxBytes(maxBytes)/visY;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   436
						break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   437
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   438
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   439
				List<Point> pointsList = new ArrayList<Point>();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   440
				 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   441
				for (int i = 0; i < valuesToBePlotted.length; i++)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   442
				{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   443
			    	// Showing only positive values
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   444
			    	if(valuesToBePlotted[i] > 0){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   445
			    		int scaledXPoint = (int)(listX[i]/scale);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   446
			    		int scaledYPoint = (int) (visY - valuesToBePlotted[i] /multiplier);;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   447
				    	Point p = new Point(scaledXPoint, scaledYPoint);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   448
				    	pointsList.add(p);			    		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   449
			    	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   450
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   451
			 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   452
				// Converting point list into integer array for drawing
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   453
				int[] points = GraphsUtils.convertPointListToIntArray(pointsList);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   454
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   455
				graphics.setForegroundColor(item.getColor());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   456
				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   457
				// Drawing graph
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   458
				graphics.drawPolyline(points);				
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   459
				// Drawing markers to the data points
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   460
				GraphsUtils.drawMarkers(graphics, points);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   461
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   462
				Polyline line = new Polyline();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   463
				line.setPoints(new PointList(points));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   464
				pointsData.put(item, line);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   465
					
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   466
				k++;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   467
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   468
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   469
			// Restoring original settings
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   470
			graphics.setForegroundColor(origColor);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   471
			graphics.setLineWidth(origLineWidth);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   472
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   473
		}catch(Exception e){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   474
			e.printStackTrace();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   475
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   476
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   477
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   478
	private void calculateMultiplier()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   479
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   480
		maxCount = 10;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   481
		maxBytes = 10;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   482
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   483
		if(selectedIssues == null)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   484
			return;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   485
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   486
		for(ResultElements item:selectedIssues)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   487
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   488
			long [] valuesToBePlotted = item.getEventValues();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   489
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   490
			if(valuesToBePlotted == null)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   491
				return;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   492
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   493
			int maxValue = (int)calculateMaxValue(valuesToBePlotted);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   494
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   495
			EventTypes eventType = GraphsUtils.getMappedEvent(item.getEvent());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   496
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   497
			switch (eventType)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   498
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   499
				case NO_OF_FILES:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   500
				case NO_OF_PSHANDLES:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   501
				case HEAP_ALLOC_CELL_COUNT:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   502
				case HEAP_FREE_CELL_COUNT:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   503
				case SYSTEM_DATA:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   504
					if(maxValue > maxCount)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   505
						maxCount = maxValue;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   506
					break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   507
				default:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   508
					if(maxValue > maxBytes)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   509
						maxBytes = maxValue;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   510
					break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   511
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   512
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   513
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   514
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   515
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   516
	 * Adds Pop-Up menu items on th graph area.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   517
	 *
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   518
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   519
	private void hookContextMenu() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   520
		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   521
		menuMgr.setRemoveAllWhenShown(true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   522
		menuMgr.addMenuListener(new IMenuListener() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   523
			public void menuAboutToShow(IMenuManager manager) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   524
				fillContextMenu(manager);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   525
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   526
        });
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   527
	    Menu menu = menuMgr.createContextMenu(figureCanvas);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   528
	    figureCanvas.setMenu(menu);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   529
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   530
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   531
	protected void fillContextMenu(IMenuManager manager) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   532
		zoomIn = new Action()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   533
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   534
			public void run()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   535
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   536
				zoomIn();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   537
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   538
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   539
				this.setText(ZOOM_IN_CONTEXT_MENU_TITLE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   540
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   541
		};
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   542
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   543
		zoomOut = new Action()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   544
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   545
			public void run()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   546
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   547
				zoomOut();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   548
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   549
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   550
				this.setText(ZOOM_OUT_CONTEXT_MENU_TITLE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   551
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   552
		};
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   553
		IAction showEntireGraph = new Action()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   554
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   555
			public void run()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   556
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   557
				zoomGraph();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   558
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   559
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   560
				this.setText(CommonGraphConstants.SHOW_ENTIRE_GRAPH_CONTEXT_MENU_ITEM_TITLE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   561
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   562
		};
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   563
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   564
		IAction saveGraph = new Action()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   565
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   566
			public void run()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   567
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   568
				GraphsUtils.saveGraph(parentComposite);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   569
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   570
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   571
				this.setText(CommonGraphConstants.SAVE_GRAPH_CONTEXT_MENU_ITEM_TITLE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   572
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   573
		};
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   574
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   575
		copy = new CopyImageToClipboardAction(this);		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   576
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   577
		manager.add(zoomIn);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   578
		manager.add(new Separator());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   579
		manager.add(zoomOut);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   580
		manager.add(new Separator());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   581
		manager.add(showEntireGraph);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   582
		manager.add(saveGraph);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   583
		manager.add(copy);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   584
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   585
		// Finally updating action states
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   586
		updateViewActionEnabledStates();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   587
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   588
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   589
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   590
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   591
	 * Sets enabled/disabled states for actions commands
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   592
	 * on this view, based on the current application state.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   593
	 * This method should be called whenever an operation is
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   594
	 * started or stopped that might have effect on action 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   595
	 * button states.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   596
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   597
	private void updateViewActionEnabledStates() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   598
		// Zoom In
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   599
		setEnableState(zoomIn, !(this.scale == GraphsUtils.nextScale(scale, false)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   600
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   601
		// Zoom Out
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   602
		boolean zoomOutEnableCondition1 = !(this.scale == GraphsUtils.nextScale(scale, true));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   603
		int width = figureCanvas.getClientArea().width;		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   604
		int lastTimeSample = timeSamples[timeSamples.length - 1];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   605
		boolean zoomOutEnableCondition2 = !(lastTimeSample / this.scale <= width);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   606
		setEnableState(zoomOut, zoomOutEnableCondition1 && zoomOutEnableCondition2);		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   607
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   608
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   609
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   610
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   611
	 * @see com.nokia.s60tools.swmtanalyser.ui.graphs.ZoomableGraph#zoomIn()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   612
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   613
	protected void zoomIn()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   614
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   615
		DbgUtility.println(DbgUtility.PRIORITY_OPERATION, "LinearIssuesGraph - Zoom In");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   616
		//Preconditions checked already in updateViewActionEnabledStates
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   617
		this.scale = GraphsUtils.nextScale(scale, false);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   618
		figureCanvas.redraw();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   619
		setNewSize();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   620
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   621
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   622
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   623
	 * @see com.nokia.s60tools.swmtanalyser.ui.graphs.ZoomableGraph#zoomOut()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   624
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   625
	protected void zoomOut()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   626
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   627
		DbgUtility.println(DbgUtility.PRIORITY_OPERATION, "LinearIssuesGraph - Zoom Out");
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   628
		//Preconditions checked already in updateViewActionEnabledStates
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   629
		this.scale = GraphsUtils.nextScale(this.scale, true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   630
		setNewSize();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   631
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   632
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   633
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   634
	 * This method zoom in the graph area to the maximum possible scale
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   635
	 * and then zooms out, so that it fits in the canvas area
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   636
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   637
	public void zoomGraph()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   638
	{		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   639
		int width = figureCanvas.getClientArea().width;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   640
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   641
		if(width <=0)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   642
			return;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   643
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   644
		double new_scale = this.scale;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   645
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   646
		double prevNew  = new_scale;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   647
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   648
		int lastSampleTime = timeSamples[timeSamples.length - 1];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   649
		//first zoom in until it is too big to fit
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   650
		while (lastSampleTime / new_scale <= width){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   651
			new_scale = GraphsUtils.nextScale(new_scale, false);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   652
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   653
			if(prevNew == new_scale)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   654
				break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   655
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   656
			prevNew = new_scale;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   657
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   658
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   659
		// now zoom out until it just fits
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   660
		while (lastSampleTime / new_scale > width){
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   661
			new_scale = GraphsUtils.nextScale(new_scale, true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   662
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   663
			if(prevNew == new_scale)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   664
				break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   665
			
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   666
			prevNew = new_scale;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   667
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   668
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   669
		if (new_scale == this.scale)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   670
			return;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   671
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   672
		this.scale = new_scale;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   673
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   674
		setNewSize();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   675
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   676
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   677
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   678
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   679
	 * This method sets the size of the panel, when scale is changed.  
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   680
	 * When graph extends beyond visible area, horizontal scroll bar appears automatically.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   681
	 *
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   682
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   683
	private void setNewSize()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   684
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   685
		int lastSample = timeSamples[timeSamples.length - 1];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   686
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   687
		int prefSize = (int)(lastSample/scale);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   688
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   689
		timeOffset = 0;	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   690
		Panel panel = (Panel)(figureCanvas.getContents());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   691
		panel.setPreferredSize(prefSize + 100, 0);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   692
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   693
		if (prefSize >= figureCanvas.getClientArea().width) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   694
			timeOffset = figureCanvas.getViewport().getViewLocation().x;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   695
	    	panel.setSize(prefSize + 100, 0);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   696
	    }
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   697
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   698
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   699
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   700
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   701
	 * Set issues that user has been selected
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   702
	 * @param selectedIssues
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   703
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   704
	public void setSelectedIssues(ArrayList<ResultElements> selectedIssues) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   705
		this.selectedIssues = selectedIssues;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   706
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   707
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   708
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   709
	 * Set parsed data
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   710
	 * @param logsData
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   711
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   712
	public void setLogData(ParsedData logsData)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   713
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   714
		SWMTLogReaderUtils utils = new SWMTLogReaderUtils();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   715
		timeSamples = utils.getTimeIntervalsFromLogData(logsData);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   716
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   717
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   718
	private long calculateMaxValue(long [] values)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   719
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   720
		long maxValue = 0;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   721
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   722
		for(int i=0; i<values.length; i++)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   723
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   724
			if(values[i] > maxValue)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   725
				maxValue = values[i];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   726
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   727
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   728
		return maxValue;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   729
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   730
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   731
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   732
	 * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   733
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   734
	public void mouseMove(MouseEvent event) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   735
		int x = event.x;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   736
		int y = event.y;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   737
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   738
		if(y > (int)visY)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   739
			figureCanvas.setToolTipText(null);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   740
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   741
		String text = "";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   742
		double xValue = x + timeOffset;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   743
		int scaledX = (int)(xValue * scale);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   744
		double valY = visY - y;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   745
					
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   746
		double count_multiplier = GraphsUtils.roundToNearestNumber(maxCount)/visY;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   747
		double bytes_multiplier = GraphsUtils.prettyMaxBytes(maxBytes)/visY;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   748
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   749
		String scaledY_1 = getFormattedValues(valY * bytes_multiplier);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   750
		int scaledY_2 = (int)(Math.round((valY * count_multiplier)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   751
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   752
		text += scaledX + "s " + scaledY_1 + " , " + scaledY_2 ;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   753
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   754
		if(selectedIssues != null)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   755
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   756
			for(ResultElements item:selectedIssues)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   757
			{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   758
				Polyline line = pointsData.get(item);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   759
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   760
				if(line != null && line.containsPoint(x, y))
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   761
				{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   762
					text += "\n" + item.getItemName();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   763
					text +=  " -- " + item.getEvent();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   764
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   765
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   766
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   767
					
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   768
		figureCanvas.setToolTipText(text);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   769
		figureCanvas.redraw();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   770
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   771
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   772
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   773
	 * 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   774
	 * @param bytes represents value to be formatted.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   775
	 * @return formatted value 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   776
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   777
	private String getFormattedValues(double bytes)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   778
	{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   779
		String scaledY = "";
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   780
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   781
		if (bytes < 10000)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   782
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   783
			scaledY += Bytes_Format.format(bytes) + " B"; //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   784
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   785
		else if (bytes <= 500 * 1024)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   786
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   787
			scaledY += Bytes_Format.format(bytes / 1024) + " KB"; //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   788
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   789
		else
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   790
		{
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   791
			scaledY +=  MBformat.format(((float) bytes / (1024 * 1024)))  + " MB"; //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   792
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   793
		
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   794
		return scaledY;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   795
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   796
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   797
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   798
	 * @see com.nokia.s60tools.swmtanalyser.ui.actions.IImageProvider#getImage()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   799
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   800
	public Image getImage() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   801
		return new Image(Display.getCurrent(), parentComposite.getClientArea().width, parentComposite.getClientArea().height);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   802
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   803
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   804
	/* (non-Javadoc)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   805
	 * @see com.nokia.s60tools.swmtanalyser.ui.actions.IImageProvider#getDrawable()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   806
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   807
	public Drawable getDrawable() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   808
		return parentComposite;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   809
	}	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   810
	
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   811
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   812
}