1402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/******************************************************************************* 2402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Copyright (c) 2000, 2009 IBM Corporation and others. 3402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * All rights reserved. This program and the accompanying materials 4402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * are made available under the terms of the Eclipse Public License v1.0 5402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * which accompanies this distribution, and is available at 6402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * http://www.eclipse.org/legal/epl-v10.html 7402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * 8402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Contributors: 9402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * IBM Corporation - initial API and implementation 10402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll *******************************************************************************/ 11402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpackage org.eclipse.test.performance.ui; 12402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 13402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport java.util.Comparator; 14402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 15402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.eclipse.swt.graphics.Color; 16402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.eclipse.swt.graphics.GC; 17402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.eclipse.swt.graphics.Point; 18402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 19402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpublic class TimeLineGraphItem { 20402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 21402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 22402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll String title; 23402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll String description=null; 24402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll double value; 25402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll Color color; 26402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll boolean displayDescription=false; 27402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll long timestamp; 28402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll boolean isSpecial=false; 29402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll boolean drawAsBaseline=false; 30402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll int x; 31402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll int y; 32402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 33402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll TimeLineGraphItem(String title, String description,double value,Color color,boolean display, long timestamp, boolean isSpecial,boolean isBaseline) { 34402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this(title, description, value, color,display, timestamp,isSpecial); 35402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.drawAsBaseline=isBaseline; 36402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 37402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 38402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll TimeLineGraphItem(String title, String description,double value,Color color,boolean display, long timestamp, boolean isSpecial) { 39402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this(title, description, value, color,display, timestamp); 40402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.isSpecial=isSpecial; 41402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 42402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 43402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll TimeLineGraphItem(String title, String description,double value,Color color,boolean display, long timestamp) { 44402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this(title, description, value, color,timestamp); 45402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.displayDescription=display; 46402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 47402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 48402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll TimeLineGraphItem(String title, String description, double value, Color color,long timestamp) { 49402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.title= title; 50402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.value= value; 51402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.color= color; 52402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.description= description; 53402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.timestamp=timestamp; 54402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 55402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 56402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll Point getSize(GC g) { 57402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll Point e1= g.stringExtent(this.description); 58402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll Point e2= g.stringExtent(this.title); 59402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll return new Point(Math.max(e1.x, e2.x), e1.y+e2.y); 60402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 61402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 62402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public static class GraphItemComparator implements Comparator{ 63402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public int compare(Object o1, Object o2) { 64402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll long ts1=((TimeLineGraphItem)o1).timestamp; 65402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll long ts2=((TimeLineGraphItem)o2).timestamp; 66402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 67402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll if (ts1>ts2) 68402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll return 1; 69402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll if (ts1<ts2) 70402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll return -1; 71402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 72402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll return 0; 73402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 74402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 75402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 76402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public int getX() { 77402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll return this.x; 78402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 79402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 80402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public void setX(int x) { 81402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.x = x; 82402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 83402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 84402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public int getY() { 85402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll return this.y; 86402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 87402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 88402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll public void setY(int y) { 89402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll this.y = y; 90402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll } 91402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 92402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll 93402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll} 94