001 /** 002 * Created by IntelliJ IDEA. 003 * User: Wei Wang 004 * Date: Nov 30, 2002 005 * Time: 2:11:24 PM 006 */ 007 008 package EVolve.visualization.XYViz.ValValViz; 009 010 import EVolve.Scene; 011 import EVolve.data.Selection; 012 import EVolve.exceptions.*; 013 import EVolve.visualization.*; 014 import EVolve.visualization.XYViz.XYVisualization; 015 016 public abstract class ValueValueVisualization extends XYVisualization{ 017 protected ValueDimension xAxis,yAxis; 018 protected ReferenceDimension entityIdFilter,filter2; // use to decide color of a dot 019 protected int subjectIndex; 020 protected long beginCall, endCall; 021 022 public ReferenceDimension getLinkableDimension(int dim) { 023 return null; 024 } 025 026 public void sort() { 027 try { 028 canvas.setImage(image.getImage()); 029 canvas.repaint(); 030 enableBrowseSourceMenu(); 031 } catch (NoDataPlotException e) { 032 Scene.showErrorMessage(e.getMessage()); 033 } 034 } 035 036 public void preVisualize() { 037 timeMap.clear(); 038 xOffset = -1; 039 timeMap.clear(); 040 } 041 042 protected void getSelection() { 043 Selection selection = Scene.getFilter().getActiveSelection(); 044 045 if (selection != null) { 046 beginCall = 0; 047 endCall = Integer.MAX_VALUE/2; 048 } 049 } 050 051 protected String getEntityUnderMouse() { 052 return null; 053 } 054 055 protected void changeOrientation() { 056 } 057 058 protected long[] findEventInterval(long startTime, long endTime) { 059 long time[] = new long[2], event[] = new long[2]; 060 time[0] = startTime; 061 time[1] = endTime; 062 event[0] = 0; 063 event[1] = Long.MAX_VALUE; 064 065 if (timeMap != null) { 066 for (int i=0; i<time.length; i++) { 067 long lastTarget = -1; 068 for (int j = 0; j< timeMap.size(); j++) { 069 long[] map = (long[])timeMap.get(j); 070 if ((lastTarget<= time[i])&&(map[0]>=time[i])) { 071 event[i] = map[1]; 072 break; 073 } 074 } 075 } 076 } 077 return event; 078 } 079 080 public Object clone() { 081 ValueValueVisualization o = null; 082 o = (ValueValueVisualization)super.clone(); 083 084 o.xAxis = (ValueDimension)xAxis.clone(); 085 o.yAxis = (yAxis == null) ? null : (ValueDimension)yAxis.clone(); 086 o.entityIdFilter = (entityIdFilter == null) ? null : (ReferenceDimension)entityIdFilter.clone(); 087 o.filter2 = (filter2 == null) ? null : (ReferenceDimension)filter2.clone(); 088 o.panelConfiguration = o.createConfigurationPanel(); 089 o.createMenu(); 090 return o; 091 } 092 }