sysperfana/memspyext/com.nokia.s60tools.swmtanalyser/src/com/nokia/s60tools/swmtanalyser/ui/graphs/GraphsUtils.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.util.Arrays;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
import java.util.List;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
import java.util.Random;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
import org.eclipse.draw2d.Graphics;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import org.eclipse.swt.SWT;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
import org.eclipse.swt.graphics.Color;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
import org.eclipse.swt.graphics.Font;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import org.eclipse.swt.graphics.GC;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import org.eclipse.swt.graphics.Image;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
import org.eclipse.swt.graphics.ImageData;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import org.eclipse.swt.graphics.ImageLoader;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import org.eclipse.swt.graphics.Point;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
import org.eclipse.swt.widgets.Composite;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
import org.eclipse.swt.widgets.Display;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
import org.eclipse.swt.widgets.FileDialog;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
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
    37
import com.nokia.s60tools.util.debug.DbgUtility;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
 * Graph utilities common to all graph types.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
public class GraphsUtils {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
	// Constants
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
	// 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
	 * Constant for no marker possibility.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
	private static final int NO_MARKER = -1;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
	 * Possible marker sizes from smallest to biggest value.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
	private static final int[] MARKER_SIZES = { 4, 6, 8 };
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
	 * Default marker size.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
	private static final int DEFAULT_MARKER = MARKER_SIZES[2];
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
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
	 * Array of event names used to map the event names into corresponding event
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
	 * enumerators.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
	 * 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
	 * @see 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
    68
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
	private static final String[] EVENT_NAMES_ARR = { "Global data size",
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
			"Non heap chunk size", "Disk used", "Disk total", "No of Files",
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
			"Max size", "Heap size", "Heap allocated space", "Heap free space",
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
			"Heap allocated cell count", "Heap free cell count", "Free slack",
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
			"No of PS Handles", "RAM used", "RAM total", "System Data" };
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
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
	 * Percentage of byte count to be graphed that is added extra reserve in
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
	 * order to show markers appropriately.
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 static final int MARKER_MARGIN_PERCENTAGE = 5;
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
	//
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
	// Symbolic name constants for different byte units use in setting Y-axis
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
	// value level according given maximum byte value
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
	// 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
	private static final int KILOBYTE = 1024;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
	private static final int MEGABYTE = 1024 * 1024;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
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
	// Members
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
	// 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
	private static String imageFilename;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
	private static Composite parentComposite;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
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
	 * Maps event names into corresponding enumerator type
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
	 * 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
	 * @param event
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
	 *            event name
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
	 * @return enumerator constant corresponding to the given event
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
	public static EventTypes getMappedEvent(String eventName) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
		int index = Arrays.asList(EVENT_NAMES_ARR).indexOf(eventName);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
		GenericGraph.EventTypes eventType = null;
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
		switch (index) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
		case 0:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
			eventType = GenericGraph.EventTypes.GLOBAL_DATA_SIZE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
		case 1:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
			eventType = GenericGraph.EventTypes.NON_HEAP_CHUNK_SIZE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
		case 2:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
			eventType = GenericGraph.EventTypes.DISK_USED_SIZE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
		case 3:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
			eventType = GenericGraph.EventTypes.DISK_TOTAL_SIZE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
		case 4:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
			eventType = GenericGraph.EventTypes.NO_OF_FILES;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
		case 5:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
			eventType = GenericGraph.EventTypes.MAX_HEAP_SIZE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
		case 6:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
			eventType = GenericGraph.EventTypes.HEAP_SIZE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
		case 7:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
			eventType = GenericGraph.EventTypes.HEAP_ALLOC_SPACE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
		case 8:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
			eventType = GenericGraph.EventTypes.HEAP_FREE_SPACE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
		case 9:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
			eventType = GenericGraph.EventTypes.HEAP_ALLOC_CELL_COUNT;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
		case 10:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
			eventType = GenericGraph.EventTypes.HEAP_FREE_CELL_COUNT;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
		case 11:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
			eventType = GenericGraph.EventTypes.HEAP_FREE_SLACK;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
		case 12:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
			eventType = GenericGraph.EventTypes.NO_OF_PSHANDLES;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
		case 13:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
			eventType = GenericGraph.EventTypes.RAM_USED;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
		case 14:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
			eventType = GenericGraph.EventTypes.RAM_TOTAL;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
			break;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
		case 15:
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
			eventType = GenericGraph.EventTypes.SYSTEM_DATA;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
			break;
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
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
		return eventType;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
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
	 * Get next scale when zooming in or out
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
	 * @param scale
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
	 * @param bigger give <code>true</code> when zooming out and <code>false</code> when zooming in.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
	 * @return next scale
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
	public static double nextScale(double scale, boolean bigger) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
		double logScale = Math.log10(scale);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
		double floorLogScale = Math.floor(Math.log10(scale));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
		double mostSignificantDigit = Math.rint(Math.pow(10,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
				(logScale - floorLogScale)));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
		double powerOfTen = Math.pow(10, floorLogScale);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
		if (bigger) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
			if (mostSignificantDigit < 2) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
				mostSignificantDigit = 2;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
			} else if (mostSignificantDigit < 5) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
				mostSignificantDigit = 5;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
			} else {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
				mostSignificantDigit = 10;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
		} else {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
			if (mostSignificantDigit > 5) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
				mostSignificantDigit = 5;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
			} else if (mostSignificantDigit > 2) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
				mostSignificantDigit = 2;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
			} else if (mostSignificantDigit > 1) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
				mostSignificantDigit = 1;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
			} else {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
				mostSignificantDigit = 0.5;
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
		}
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
		double result = mostSignificantDigit * powerOfTen;
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 (result < 0.1)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
			result = 0.1;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
		return result;
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
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   201
	 * Save the given composite as an image to local file system.
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
	 * @param parent
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
	public static void saveGraph(Composite parent) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   206
		parentComposite = parent;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   207
		FileDialog dlg = new FileDialog(Display.getCurrent().getActiveShell(),
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   208
				SWT.SAVE);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   209
		dlg.setFilterExtensions(new String[] { "*.bmp", "*.png", "*.jpeg" });
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   210
		imageFilename = dlg.open();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   211
		if (imageFilename == null)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   212
			return;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   213
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   214
		Runnable p = new Runnable() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   215
			public void run() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   216
				GC gc = new GC(parentComposite);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   217
				Image image = new Image(Display.getCurrent(), parentComposite
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   218
						.getClientArea().width,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   219
						parentComposite.getClientArea().height);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   220
				parentComposite.setFocus();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   221
				gc.copyArea(image, 0, 0);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   222
				gc.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   223
				ImageData data = image.getImageData();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   224
				ImageLoader loader = new ImageLoader();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   225
				loader.data = new ImageData[] { data };
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   226
				if (imageFilename != null)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   227
					loader.save(imageFilename, SWT.IMAGE_BMP);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   228
				image.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   229
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   230
		};
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   231
		Display.getDefault().timerExec(500, p);
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
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   234
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   235
	 * Generate random color.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   236
	 * 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   237
	 * @return a random color
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   238
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   239
	public static Color getRandomColor() {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   240
		Random rand = new Random();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   241
		int r = rand.nextInt(255);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   242
		int g = rand.nextInt(255);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   243
		int b = rand.nextInt(255);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   244
		return new Color(Display.getCurrent(), r, g, b);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   245
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   246
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
	 * Creates an image and writes the given text vertically on the image. This
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   249
	 * is used to represent the Y-axis names in the Analysis tab and Graphed
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   250
	 * events -graphs. Those graphs show double Y-axis and therefore layout
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   251
	 * differs from single Y-axis situation.
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
	 * @param axisLabelName
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   254
	 *            name of the label
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   255
	 * @return vertical axis label image
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
	public static Image getDoubleYAxisVerticalLabel(String axisLabelName) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   258
		return getVerticalLabel(axisLabelName, 90, 18, 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
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   261
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   262
	 * Creates an image and writes the given text vertically on the image with
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   263
	 * given coordinates and font size.
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
	 * @param axisLabelName
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   266
	 *            name of the label
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   267
	 * @param x
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   268
	 *            x-coordinate
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   269
	 * @param y
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   270
	 *            y-coordinate
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   271
	 * @param fontSize
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   272
	 *            font size
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   273
	 * @return vertical axis label image
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   274
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   275
	public static Image getVerticalLabel(String axisLabelName, int x, int y,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   276
			int fontSize) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   277
		final Image image = new Image(Display.getDefault(), x, y);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   278
		GC gc = new GC(image);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   279
		Font font = new Font(Display.getDefault(), Display.getDefault()
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   280
				.getSystemFont().getFontData()[0].getName(), fontSize, SWT.BOLD);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   281
		gc.setFont(font);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   282
		gc.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   283
		gc.fillRectangle(0, 0, 90, 15);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   284
		gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   285
		gc.drawText(axisLabelName + " ->", 0, 0, true);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   286
		font.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   287
		gc.dispose();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   288
		return image;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   289
	}
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
	 * Draws markers to data points with current foreground color and marker
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   293
	 * size.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   294
	 * 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   295
	 * @param graphics
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   296
	 *            Graphics context
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   297
	 * @param points
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   298
	 *            Data point array in format [ X0, Y0, X1, Y1, ... ]
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
	private static void drawMarkers(Graphics graphics, int[] points,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   301
			int markerSize) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   302
		Color backgroundColor = graphics.getBackgroundColor();
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   303
		graphics.setBackgroundColor(graphics.getForegroundColor());
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   304
		for (int j = 0; j < points.length; j += 2) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   305
			int width = markerSize;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   306
			int height = width;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   307
			int x = points[j] - (width / 2);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   308
			int y = points[j + 1] - (width / 2);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   309
			graphics.fillRectangle(x, y, width, height);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   310
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   311
		graphics.setBackgroundColor(backgroundColor);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   312
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   313
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
	 * Resolving minimum space between subsequent X-coordinate data points. This
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   316
	 * method expects that there are at least 2 x,y pairs in the array
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
	 * @param points
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   319
	 *            Data point array in format [ X0, Y0, X1, Y1, ... ]
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   320
	 * @return minimum space between subsequent X-coordinate data points
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   321
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   322
	private static int resolveMinumumXDelta(int[] points) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   323
		int minDelta = points[2] - points[0];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   324
		for (int i = 4; i < points.length; i += 2) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   325
			int delta = points[i] - points[i - 2];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   326
			if (delta < minDelta) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   327
				minDelta = delta;
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
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   330
		return minDelta;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   331
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   332
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   333
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   334
	 * Draws markers to data points with current foreground color. Markers drawn
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   335
	 * only if there is enough room in X-axis to draw them between all
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   336
	 * individual data points.
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
	 * @param graphics
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   339
	 *            Graphics context
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   340
	 * @param points
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   341
	 *            Data point array in format [ X0, Y0, X1, Y1, ... ]
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   342
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   343
	public static void drawMarkers(Graphics graphics, int[] points) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   344
		int markerSize = NO_MARKER; // By default not drawing markers if there
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   345
									// is no room for them
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   346
		// Checking deltas only if there is more than single point to draw
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   347
		if (points.length > 2) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   348
			// Resolving minimum space between subsequent X-coordinate data
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   349
			// points
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   350
			int minDelta = resolveMinumumXDelta(points);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   351
			// Resolving if there is at all need to draw markers
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   352
			for (int i = MARKER_SIZES.length - 1; i >= 0; i--) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   353
				int size = MARKER_SIZES[i];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   354
				if (size < minDelta) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   355
					markerSize = size; // Using this size in drawing
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   356
					break;
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
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   359
			//			DbgUtility.println(DbgUtility.PRIORITY_LOOP, "minDelta: " + minDelta); //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   360
		} else {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   361
			// Using default marker in case there
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   362
			markerSize = DEFAULT_MARKER;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   363
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   364
		//		DbgUtility.println(DbgUtility.PRIORITY_LOOP, "markerSize: " + markerSize); //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   365
		// Drawing markers
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   366
		if (markerSize != NO_MARKER) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   367
			drawMarkers(graphics, points, markerSize);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   368
		}
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
	 * Gets nearest Y-legend bytes label from the given bytes
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
	 * @param bytes
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   375
	 *            bytes number
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   376
	 * @return nearest Y-legend bytes label from the given bytes
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   377
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   378
	static public int prettyMaxBytes(int bytes) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   379
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   380
		// Adding some margin that makes possible to show also markers
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   381
		int byteMarginForMarkers = (int) Math
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   382
				.ceil((MARKER_MARGIN_PERCENTAGE / 100.0) * bytes);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   383
		bytes = bytes + byteMarginForMarkers;
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
		//		DbgUtility.println(DbgUtility.PRIORITY_LOOP, "prettyMaxBytes/bytes: " + bytes); //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   386
		//		DbgUtility.println(DbgUtility.PRIORITY_LOOP, "byteMarginForMarkers: " + byteMarginForMarkers); //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   387
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   388
		// Before 10 KB limit using byte units are used Y-axis legend and
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   389
		// therefore thousand is used as checkpoint limit instead if KILOBYTE
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   390
		final int thousand = 1000;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   391
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   392
		if (bytes < thousand)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   393
			bytes = thousand;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   394
		else if (bytes < 10 * thousand)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   395
			bytes = 10 * thousand;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   396
		else if (bytes < 20 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   397
			bytes = 20 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   398
		else if (bytes < 30 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   399
			bytes = 30 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   400
		else if (bytes < 50 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   401
			bytes = 50 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   402
		else if (bytes < 100 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   403
			bytes = 100 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   404
		else if (bytes < 150 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   405
			bytes = 150 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   406
		else if (bytes < 200 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   407
			bytes = 200 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   408
		else if (bytes < 300 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   409
			bytes = 300 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   410
		else if (bytes < 400 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   411
			bytes = 400 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   412
		else if (bytes < 500 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   413
			bytes = 500 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   414
		else if (bytes < 600 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   415
			bytes = 600 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   416
		else if (bytes < 700 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   417
			bytes = 700 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   418
		else if (bytes < 800 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   419
			bytes = 800 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   420
		else if (bytes < 900 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   421
			bytes = 900 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   422
		else if (bytes < 1000 * KILOBYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   423
			bytes = 1000 * KILOBYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   424
		else if (bytes < 1 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   425
			bytes = 1 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   426
		else if (bytes < 2 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   427
			bytes = 2 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   428
		else if (bytes < 3 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   429
			bytes = 3 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   430
		else if (bytes < 5 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   431
			bytes = 5 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   432
		else if (bytes < 10 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   433
			bytes = 10 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   434
		else if (bytes < 20 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   435
			bytes = 20 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   436
		else if (bytes < 30 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   437
			bytes = 30 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   438
		else if (bytes < 50 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   439
			bytes = 50 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   440
		else if (bytes < 100 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   441
			bytes = 100 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   442
		else if (bytes < 200 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   443
			bytes = 200 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   444
		else if (bytes < 300 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   445
			bytes = 300 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   446
		else if (bytes < 500 * MEGABYTE)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   447
			bytes = 500 * MEGABYTE;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   448
		else
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   449
			bytes = ((bytes + 1024 * MEGABYTE - 1) / (1024 * MEGABYTE))
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   450
					* (1024 * MEGABYTE);
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
		return bytes;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   453
	}
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
	/**
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   456
	 * Converts list of <code>Point</code> objects into integer array.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   457
	 * 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   458
	 * @param pointsList
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   459
	 *            list of point objects
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   460
	 * @return points converted in 1-dimensional integer array.
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
	public static int[] convertPointListToIntArray(List<Point> pointsList) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   463
		int[] integerArray = new int[pointsList.size() * 2];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   464
		for (int i = 0, j = 0; i < pointsList.size(); i++, j += 2) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   465
			Point pnt = pointsList.get(i);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   466
			integerArray[j] = pnt.x;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   467
			integerArray[(j + 1)] = pnt.y;
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
		return integerArray;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   470
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   471
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
	 * Gets nearest Y-legend count value label from the given input count value.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   474
	 * Maximum count value handled is 999*100 i.e. 99900 counts.
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
	 * @param inputCountValue
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   477
	 *            bytes input count value
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   478
	 * @return nearest Y-legend count value label from the given input count
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   479
	 *         value.
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   480
	 * @return
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   481
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   482
	static public int roundToNearestNumber(int inputCountValue) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   483
		int tempCount = inputCountValue;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   484
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   485
		// Adding some safe margin for making sure that all data points with
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   486
		// markers are drawn appropriately
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   487
		int countMarginForMarkers = (int) Math
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   488
				.ceil((MARKER_MARGIN_PERCENTAGE / 100.0) * tempCount);
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   489
		tempCount = tempCount + countMarginForMarkers;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   490
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   491
		DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   492
				"roundToNearestNumber/count: " + tempCount); //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   493
		DbgUtility.println(DbgUtility.PRIORITY_OPERATION,
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   494
				"countMarginForMarkers: " + countMarginForMarkers); //$NON-NLS-1$
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   495
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   496
		if (tempCount < 10)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   497
			tempCount = 10;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   498
		else if (tempCount < 50)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   499
			tempCount = 50;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   500
		else if (tempCount < 100)
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   501
			tempCount = 100;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   502
		else {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   503
			for (int i = 2; i < 1000; i++) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   504
				if (tempCount < (i * 100)) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   505
					tempCount = i * 100;
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
				}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   508
			}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   509
		}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   510
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   511
		return tempCount;
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
	 * Builds int array from Integer List object
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   516
	 * 
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   517
	 * @param solidsList
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   518
	 *            Integer list
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   519
	 * @return int array
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   520
	 */
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   521
	public static int[] CreateIntArrayFromIntegerList(List<Integer> solidsList) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   522
		int[] solidPts = new int[solidsList.size()];
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   523
		for (int j = 0; j < solidsList.size(); j++) {
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   524
			solidPts[j] = solidsList.get(j);
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
		return solidPts;
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   527
	}
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   528
8e12a575a9b5 MemSpy Carbide Extension 1.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   529
}