00001
00005 package DisplayGUI;
00006 import java.util.*;
00007 import java.io.*;
00008 import java.util.regex.Pattern;
00009 import java.util.regex.Matcher;
00010 import java.awt.Color;
00011
00012
00013 public class ColorScaleManager implements TestDataInfo {
00014 private static ColorScaleManager instance = new ColorScaleManager();
00015
00016 private Map defaultMap;
00017 private Map nonDefaultMap;
00018 private Set persistedSet;
00019 private final String IS_MONITOR_TITLE="Number of published objects";
00020 private final String MODULE_GROUP_SELECTION_TITLE = "Selected module grouping";
00021 private final String SCTDB_COMPARISON_TITLE = "Comparison with SCTDAQ Reference";
00022 private final String IVSCAN_TITLE="Sensor Current (microAmps)";
00023 private final String PROBE_TITLE="Module Probe Data";
00024
00025 private ColorScaleManager() {
00026 Refresh();
00027 }
00028
00029 public static ColorScaleManager getInstance() {
00030 return instance;
00031 }
00032 public void Refresh() {
00033 persistedSet = new HashSet();
00034 initialiseDefaults();
00035 readPersistedScales();
00036 }
00037 public ColorScale getColorScale(int display, int testIndex, int parameterIndex, int mouseOption, int displayOption) {
00038
00039
00040 String scaleTitle;
00041 if((scaleTitle=getTitleString(display,testIndex,parameterIndex,mouseOption,displayOption))==null) {
00042
00043 return null;
00044 }
00045 if(nonDefaultMap.containsKey(scaleTitle)) return (ColorScale)nonDefaultMap.get(scaleTitle);
00046 if(defaultMap.containsKey(scaleTitle)) return (ColorScale)defaultMap.get(scaleTitle);
00047 System.err.println("SctGUI::ColorScaleManager: No scale defined for title '"+scaleTitle+"'");
00048 return null;
00049 }
00050
00051 public void updateScale(ColorScale colorScale, boolean persist) {
00052 boolean isDefault=false;
00053 ColorScale defaultScale = new ColorScale((ColorScale)defaultMap.get(colorScale.getTitle()));
00054 if(colorScale.equals(defaultScale)) {
00055 nonDefaultMap.remove(colorScale.getTitle());
00056 isDefault=true;
00057 }
00058 else nonDefaultMap.put(colorScale.getTitle(),colorScale);
00059
00060 if(persist) {
00061 if(!isDefault) persistedSet.add(colorScale.getTitle());
00062 persistScales();
00063 }
00064 }
00065
00066 public ColorScale getDefaultColorScale(String scaleTitle) {
00067 ColorScale cs = (ColorScale)defaultMap.get(scaleTitle);
00068 return cs;
00069 }
00070 public void clearAll() {
00071 System.out.println("SctGUI: Clearing "+nonDefaultMap.size()+" color scales...");
00072 persistedSet.clear();
00073 nonDefaultMap.clear();
00074 persistScales();
00075 }
00076
00077
00078 public boolean isDefault(ColorScale colorScale) {
00079 return (!nonDefaultMap.containsKey(colorScale.getTitle()));
00080 }
00081
00082 public void readPersistedScales() {
00083 ColorScale thisScale = null;
00084 Pattern scalePattern = Pattern.compile("%COLORSCALE TITLE=(.*)LOG=(\\d+)GRAD=(\\d+)");
00085 Pattern pointPattern = Pattern.compile("VALUE=([\\d\\.-]+)LABEL=(.*)RED=(\\d+)GREEN=(\\d+)BLUE=(\\d+)");
00086 nonDefaultMap = new java.util.HashMap();
00087 int scaleCount=0;
00088 try {
00089 File prefFile = Preferences.PreferencesInterface.getInstance().getPrefsFile();
00090 if(!prefFile.exists()) return;
00091 BufferedReader in = new BufferedReader(new FileReader(prefFile));
00092 String line;
00093 while((line=in.readLine())!=null) {
00094 Matcher matcher = scalePattern.matcher(line);
00095 if(matcher.matches()) {
00096 if(thisScale!=null) {
00097
00098 if(thisScale.getNoPoints()>=2) {
00099 nonDefaultMap.put(thisScale.getTitle(),thisScale);
00100 persistedSet.add(thisScale.getTitle());
00101 scaleCount++;
00102 }
00103 else System.err.println("SctGUI::ColorScaleManager: <2 scale points!!!");
00104 }
00105 String title = line.substring(matcher.start(1),matcher.end(1));
00106 boolean isLog = line.substring(matcher.start(2),matcher.end(2)).equals("1");
00107 boolean isGrad = line.substring(matcher.start(3),matcher.end(3)).equals("1");
00108 thisScale = new ColorScale(title,isLog,isGrad);
00109 continue;
00110 }
00111 matcher = pointPattern.matcher(line);
00112 if(matcher.matches()) {
00113 if(thisScale==null) {
00114 System.err.println("SctGUI::ColorScaleManager: Null scale point for line "+line);
00115 continue;
00116 }
00117 String value = line.substring(matcher.start(1),matcher.end(1));
00118 String label = line.substring(matcher.start(2),matcher.end(2));
00119 String red = line.substring(matcher.start(3),matcher.end(3));
00120 String green = line.substring(matcher.start(4),matcher.end(4));
00121 String blue = line.substring(matcher.start(5),matcher.end(5));
00122 thisScale.add(Double.parseDouble(value),new Color(Integer.parseInt(red),Integer.parseInt(green),Integer.parseInt(blue)),label);
00123 }
00124
00125 }
00126 if(thisScale!=null) {
00127
00128 if(thisScale.getNoPoints()>=2) {
00129 nonDefaultMap.put(thisScale.getTitle(),thisScale);
00130 persistedSet.add(thisScale.getTitle());
00131 scaleCount++;
00132 }
00133 else System.err.println("SctGUI::ColorScaleManager: <2 scale points!!!");
00134 }
00135 in.close();
00136
00137 }catch(Exception io) {System.err.println("SctGUI::ColorScaleManager: Failed to read persisted color scales: "+io.toString());}
00138 if(scaleCount>0) System.out.println("SctGUI::ColorScaleManager: Imported "+scaleCount+" color scales");
00139 }
00140
00141 public void persistScales() {
00142 List contents = new ArrayList();
00143 try {
00144 File prefFile = Preferences.PreferencesInterface.getInstance().getPrefsFile();
00145 if(prefFile.exists()) {
00146 BufferedReader in = new BufferedReader(new FileReader(prefFile));
00147 String line;
00148 while((line=in.readLine())!=null) {
00149 if(line.startsWith("%COLORSCALE")) break;
00150 contents.add(line);
00151 }
00152 in.close();
00153 }
00154 BufferedWriter out = new BufferedWriter(new FileWriter(prefFile));
00155 for(int i=0;i<contents.size();i++) {
00156 out.write((String)contents.get(i));
00157 out.newLine();
00158 }
00159 for (Iterator i=nonDefaultMap.values().iterator(); i.hasNext(); ) {
00160 ColorScale thisColorScale = (ColorScale) i.next();
00161 String title = thisColorScale.getTitle();
00162 if(!persistedSet.contains(title)) continue;
00163 String isLog = thisColorScale.isLogScale() ? "1" : "0";
00164 String isGrad = thisColorScale.isGradientPaint() ? "1" : "0";
00165 out.write("%COLORSCALE TITLE="+title+"LOG="+isLog+"GRAD="+isGrad);
00166 out.newLine();
00167 List scalePoints = thisColorScale.getScalePoints();
00168 for(int y=0;y<scalePoints.size();y++) {
00169 ColorScalePoint scalePoint = (ColorScalePoint)scalePoints.get(y);
00170 Color color = scalePoint.getColor();
00171 out.write("VALUE="+scalePoint.getValue()+"LABEL="+scalePoint.getLabel()+"RED="+color.getRed()+"GREEN="+color.getGreen()+"BLUE="+color.getBlue());
00172 out.newLine();
00173 }
00174 }
00175 out.close();
00176 }catch(Exception io) {System.err.println("SctGUI::ColorScaleManager: Failed to persist color scales: "+io.toString());}
00177 }
00178
00179
00180 public void initialiseDefaults() {
00181
00182 defaultMap = new java.util.HashMap();
00183 ColorScale colorScale;
00184
00185 colorScale = new ColorScale(0.0, java.awt.Color.red, "0");
00186 colorScale.add(1.0, java.awt.Color.green, "1");
00187 defaultMap.put(colorScale.setTitle(IS_MONITOR_TITLE),colorScale);
00188
00189 colorScale = new ColorScale(-1.0,java.awt.Color.white, "None");
00190 colorScale.add(0.0, java.awt.Color.orange, "0");
00191 colorScale.add(1.0, java.awt.Color.cyan,"1");
00192 colorScale.add(2.0, java.awt.Color.blue,"2");
00193 colorScale.add(3.0, java.awt.Color.pink,"3");
00194 colorScale.add(4.0, java.awt.Color.green,"4");
00195 colorScale.add(5.0, java.awt.Color.magenta,"5");
00196 colorScale.add(6.0, java.awt.Color.yellow,"6");
00197 colorScale.add(7.0, java.awt.Color.lightGray,"7");
00198 defaultMap.put(colorScale.setTitle(MODULE_GROUP_SELECTION_TITLE),colorScale);
00199
00200 colorScale = new ColorScale(0.0,java.awt.Color.red, "0");
00201 colorScale.add(1.0, java.awt.Color.pink,"1");
00202 colorScale.add(2.0, java.awt.Color.yellow,"2");
00203 colorScale.add(3.0, java.awt.Color.blue,"J");
00204 colorScale.add(4.0, java.awt.Color.green,"E");
00205 colorScale.add(5.0, java.awt.Color.lightGray,"Other");
00206 defaultMap.put(colorScale.setTitle(PROBE_TITLE),colorScale);
00207
00208 colorScale = new ColorScale(-1.0,java.awt.Color.white, "No Data");
00209 colorScale.add(1.0, java.awt.Color.green,"Good");
00210 colorScale.add(2.0, java.awt.Color.red,"Poor");
00211 defaultMap.put(colorScale.setTitle(SCTDB_COMPARISON_TITLE),colorScale);
00212
00213 colorScale = new ColorScale(0.0, java.awt.Color.green, "Pass");
00214 colorScale.add(1.0,java.awt.Color.orange, "Problem");
00215 colorScale.add(2.0,java.awt.Color.red, "Fail");
00216 defaultMap.put(colorScale.setTitle("Result Status"),colorScale);
00217
00218 colorScale = new ColorScale(0.0, java.awt.Color.green, "0",15.0,java.awt.Color.red,"15");
00219 defaultMap.put(colorScale.setTitle("Defect Count"),colorScale);
00220
00221 colorScale = new ColorScale(0.0, java.awt.Color.green, "0",15.0,java.awt.Color.red,"15");
00222 defaultMap.put(colorScale.setTitle("#Bad Chans"),colorScale);
00223
00224 colorScale = new ColorScale(0.0, java.awt.Color.orange, "0",5.0,java.awt.Color.green,"5.0");
00225 defaultMap.put(colorScale.setTitle("Token"),colorScale);
00226
00227 colorScale = new ColorScale(0.0, java.awt.Color.orange, "0",5.0,java.awt.Color.green,"5.0");
00228 defaultMap.put(colorScale.setTitle("RToken"),colorScale);
00229
00230 colorScale = new ColorScale(0.0, java.awt.Color.orange,"Not Tested");
00231 colorScale.add(1.0, java.awt.Color.green, "Minimal Tested");
00232 defaultMap.put(colorScale.setTitle("Token Comment"),colorScale);
00233
00234 colorScale = new ColorScale(0.0, java.awt.Color.orange,"Not Tested");
00235 colorScale.add(1.0, java.awt.Color.green, "Minimal Tested");
00236 defaultMap.put(colorScale.setTitle("RToken Comment"),colorScale);
00237
00238 colorScale = new ColorScale(0., java.awt.Color.green, "0");
00239 colorScale.add(1.0,java.awt.Color.red,">0");
00240 defaultMap.put(colorScale.setTitle("Defective pipelines"),colorScale);
00241
00242 colorScale = new ColorScale(0.0, java.awt.Color.red, "0",20.0,java.awt.Color.red,"20");
00243 colorScale.add(10.0,java.awt.Color.green,"10");
00244 colorScale.add(15.0,java.awt.Color.green,"15");
00245 defaultMap.put(colorScale.setTitle("Strobe Delay"),colorScale);
00246
00247 colorScale = new ColorScale(0.0, java.awt.Color.red, "0",300.0,java.awt.Color.red,"300.");
00248 colorScale.add(100.0,java.awt.Color.green,"100.");
00249 colorScale.add(200.0,java.awt.Color.green,"200.");
00250 defaultMap.put(colorScale.setTitle("VT50(mV)"),colorScale);
00251
00252 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",10.0,java.awt.Color.red,"10.");
00253 colorScale.add(1.0,java.awt.Color.green,"1.");
00254 colorScale.add(5.0,java.awt.Color.green,"5.");
00255 defaultMap.put(colorScale.setTitle("VT50(mV) RMS"),colorScale);
00256
00257 colorScale = new ColorScale(30.0, java.awt.Color.red, "30",70.0,java.awt.Color.red,"70");
00258 colorScale.add(40.0,java.awt.Color.green,"40");
00259 colorScale.add(60.0,java.awt.Color.green,"60");
00260 defaultMap.put(colorScale.setTitle("Gain (mV/fC)"),colorScale);
00261
00262 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",10.0,java.awt.Color.red,"10.");
00263 colorScale.add(1.0,java.awt.Color.green,"1.");
00264 colorScale.add(5.0,java.awt.Color.green,"5.");
00265 defaultMap.put(colorScale.setTitle("Gain RMS"),colorScale);
00266
00267 colorScale = new ColorScale(0.0, java.awt.Color.red, "0.",100.0,java.awt.Color.red,"100.");
00268 colorScale.add(10.0,java.awt.Color.green,"10");
00269 colorScale.add(90.0,java.awt.Color.green,"90");
00270 defaultMap.put(colorScale.setTitle("Offset (mV)"),colorScale);
00271
00272 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",10.0,java.awt.Color.red,"10.");
00273 colorScale.add(1.0,java.awt.Color.green,"1.");
00274 colorScale.add(5.0,java.awt.Color.green,"5.");
00275 defaultMap.put(colorScale.setTitle("Offset RMS"),colorScale);
00276
00277 colorScale = new ColorScale(10.0, java.awt.Color.blue, "10.",16.0,java.awt.Color.red,"16.");
00278 colorScale.add(12.0,java.awt.Color.green,"12.");
00279 colorScale.add(14.0,java.awt.Color.green,"14.");
00280 defaultMap.put(colorScale.setTitle("Output Noise (mV)"),colorScale);
00281
00282 colorScale = new ColorScale(1000.0, java.awt.Color.blue, "1000",2000.0,java.awt.Color.red,"2000");
00283 colorScale.add(1300.0,java.awt.Color.green,"1300");
00284 colorScale.add(1600.0,java.awt.Color.green,"1600");
00285 defaultMap.put(colorScale.setTitle("Input Noise (enc)"),colorScale);
00286
00287 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.",100.0,java.awt.Color.red,"100");
00288 colorScale.add(30.0,java.awt.Color.green,"30.");
00289 colorScale.add(80.0,java.awt.Color.green,"80.");
00290 defaultMap.put(colorScale.setTitle("Noise RMS (enc)"),colorScale);
00291
00292 colorScale = new ColorScale(-1.0, java.awt.Color.blue, "-1.0",1.0,java.awt.Color.red,"1.0");
00293 defaultMap.put(colorScale.setTitle("ChipSlope Noise"),colorScale);
00294
00295 colorScale = new ColorScale(-1.0, java.awt.Color.blue, "-1.0",1.0,java.awt.Color.red,"1.0");
00296 defaultMap.put(colorScale.setTitle("ChipSlope Offset"),colorScale);
00297
00298 colorScale = new ColorScale(-1.0, java.awt.Color.blue, "-1.0",1.0,java.awt.Color.red,"1.0");
00299 defaultMap.put(colorScale.setTitle("ChipSlope Gain"),colorScale);
00300
00301
00302 colorScale = new ColorScale(0.0000001, java.awt.Color.blue, "1E-7",0.0001,java.awt.Color.red,"1E-4");
00303 colorScale.add(0.000001,java.awt.Color.green,"1E-6");
00304 colorScale.add(0.00001,java.awt.Color.green,"1E-5");
00305 colorScale.setLogScale(true);
00306 defaultMap.put(colorScale.setTitle("Occupancy"),colorScale);
00307
00308 colorScale = new ColorScale(0.0000001, java.awt.Color.blue, "1E-7",0.0001,java.awt.Color.red,"1E-4");
00309 colorScale.add(0.000001,java.awt.Color.green,"1E-6");
00310 colorScale.add(0.00001,java.awt.Color.green,"1E-5");
00311 colorScale.setLogScale(true);
00312 defaultMap.put(colorScale.setTitle("RMS Occupancy"),colorScale);
00313
00314 colorScale = new ColorScale(0.0, java.awt.Color.red, "0.",2.5,java.awt.Color.red,"2.5");
00315 colorScale.add(0.5,java.awt.Color.green,"0.5");
00316 colorScale.add(2.0,java.awt.Color.orange,"2.0");
00317 defaultMap.put(colorScale.setTitle("MaxBadness"),colorScale);
00318
00319 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.",50.0,java.awt.Color.red,"50.0");
00320 colorScale.add(10.0,java.awt.Color.green,"10.0");
00321 colorScale.add(40.0,java.awt.Color.green,"40.0");
00322 defaultMap.put(colorScale.setTitle("NoThreshold"),colorScale);
00323
00324 colorScale = new ColorScale(0.0000001, java.awt.Color.blue, "1E-7",0.0001,java.awt.Color.red,"1E-4");
00325 colorScale.add(0.000001,java.awt.Color.green,"1E-6");
00326 colorScale.add(0.00001,java.awt.Color.green,"1E-5");
00327 colorScale.setLogScale(true);
00328 defaultMap.put(colorScale.setTitle("Average Occupancy"),colorScale);
00329
00330 colorScale = new ColorScale(0.0000001, java.awt.Color.blue, "1E-7",0.0001,java.awt.Color.red,"1E-4");
00331 colorScale.add(0.000001,java.awt.Color.green,"1E-6");
00332 colorScale.add(0.00001,java.awt.Color.green,"1E-5");
00333 colorScale.setLogScale(true);
00334 defaultMap.put(colorScale.setTitle("Peak Occupancy"),colorScale);
00335
00336 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.",3.0,java.awt.Color.red,"3");
00337 colorScale.add(1.5,java.awt.Color.green,"1.5");
00338 defaultMap.put(colorScale.setTitle("Peak Ratio"),colorScale);
00339
00340 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",129.0,java.awt.Color.red,"129");
00341 colorScale.add(65.0,java.awt.Color.green,"65");
00342 defaultMap.put(colorScale.setTitle("Peak Bin"),colorScale);
00343
00344 colorScale = new ColorScale(0, java.awt.Color.blue, "0");
00345 colorScale.add(1,java.awt.Color.green,"1");
00346 colorScale.add(2,java.awt.Color.red,"2");
00347 colorScale.add(3,java.awt.Color.yellow,"3");
00348 defaultMap.put(colorScale.setTitle("Trim Range"),colorScale);
00349
00350 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.",250.0,java.awt.Color.red,"250");
00351 colorScale.add(50.0,java.awt.Color.green,"50.");
00352 colorScale.add(200.0,java.awt.Color.green,"200.");
00353 defaultMap.put(colorScale.setTitle("Target"),colorScale);
00354
00355 colorScale = new ColorScale(0., java.awt.Color.green, "0");
00356 colorScale.add(1.0,java.awt.Color.red,">0");
00357 defaultMap.put(colorScale.setTitle("N(untrimmed)"),colorScale);
00358
00359 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",20.0,java.awt.Color.green,"20.");
00360 defaultMap.put(colorScale.setTitle("Step size (mV)"),colorScale);
00361
00362 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",1.0,java.awt.Color.green,"1.");
00363 defaultMap.put(colorScale.setTitle("Step Size RMS"),colorScale);
00364
00365 colorScale = new ColorScale(0.0, java.awt.Color.red, "0",10.0,java.awt.Color.green,"10");
00366 colorScale.add(12.0,java.awt.Color.green,"12");
00367 colorScale.add(20.0,java.awt.Color.red,"20");
00368 defaultMap.put(colorScale.setTitle("TimeWalk(ns)"),colorScale);
00369
00370 colorScale = new ColorScale(0.0, java.awt.Color.red, "0",20.0,java.awt.Color.red,"20");
00371 colorScale.add(10.0,java.awt.Color.green,"10");
00372 colorScale.add(15.0,java.awt.Color.green,"15");
00373 defaultMap.put(colorScale.setTitle("TimeWalk(ns)"),colorScale);
00374
00375 colorScale = new ColorScale(0.0, java.awt.Color.red, "0",40.0,java.awt.Color.red,"40");
00376 colorScale.add(20.0,java.awt.Color.green,"20");
00377 colorScale.add(30.0,java.awt.Color.green,"30");
00378 defaultMap.put(colorScale.setTitle("TCal"),colorScale);
00379
00380 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",500.0,java.awt.Color.red,"500");
00381 colorScale.add(200.0,java.awt.Color.green,"200");
00382 colorScale.add(400.0,java.awt.Color.green,"400");
00383 defaultMap.put(colorScale.setTitle("Sensor HV(Volts)"),colorScale);
00384
00385 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",2.0,java.awt.Color.red,"2.0");
00386 colorScale.add(0.5,java.awt.Color.green,"0.5");
00387 colorScale.add(1.0,java.awt.Color.green,"1.0");
00388 defaultMap.put(colorScale.setTitle("Sensor Current(uA)"),colorScale);
00389
00390 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",35.0,java.awt.Color.red,"35.0");
00391 colorScale.add(20.0,java.awt.Color.green,"20.0");
00392 colorScale.add(30.0,java.awt.Color.green,"30.0");
00393 defaultMap.put(colorScale.setTitle("Hybrid T0(degC)"),colorScale);
00394
00395 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0",35.0,java.awt.Color.red,"35.0");
00396 colorScale.add(20.0,java.awt.Color.green,"20.0");
00397 colorScale.add(30.0,java.awt.Color.green,"30.0");
00398 defaultMap.put(colorScale.setTitle("Hybrid T1(degC)"),colorScale);
00399
00400 colorScale = new ColorScale(3.0, java.awt.Color.blue, "3.0",4.0,java.awt.Color.red,"4.0");
00401 colorScale.add(3.5,java.awt.Color.green,"3.5");
00402 defaultMap.put(colorScale.setTitle("Chip VCC (Volts)"),colorScale);
00403
00404 colorScale = new ColorScale(800.0, java.awt.Color.blue, "800",1200.0,java.awt.Color.red,"1200");
00405 colorScale.add(1000.0,java.awt.Color.green,"1000");
00406 defaultMap.put(colorScale.setTitle("Chip ICC (mA)"),colorScale);
00407
00408 colorScale = new ColorScale(3.5, java.awt.Color.blue, "3.5",4.5,java.awt.Color.red,"4.5");
00409 colorScale.add(4.0,java.awt.Color.green,"4.0");
00410 defaultMap.put(colorScale.setTitle("Chip VDD (Volts)"),colorScale);
00411
00412 colorScale = new ColorScale(450.0, java.awt.Color.blue, "450",550.0,java.awt.Color.red,"550");
00413 colorScale.add(500.0,java.awt.Color.green,"500");
00414 defaultMap.put(colorScale.setTitle("Chip IDD (mA)"),colorScale);
00415
00416 colorScale = new ColorScale(0.0, java.awt.Color.green, "0.",4.0,java.awt.Color.red,"4.");
00417 defaultMap.put(colorScale.setTitle("TDiff (degC)"),colorScale);
00418
00419 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.",10.0,java.awt.Color.red,"10.");
00420 colorScale.add(5.0,java.awt.Color.green,"5.0");
00421 defaultMap.put(colorScale.setTitle("Module Power (W)"),colorScale);
00422
00423 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.",0.5,java.awt.Color.red,"0.5");
00424 colorScale.add(0.2,java.awt.Color.green,"0.2");
00425 colorScale.add(0.3,java.awt.Color.green,"0.3");
00426 defaultMap.put(colorScale.setTitle("Chip IPIN"),colorScale);
00427
00428 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.0",24.0,java.awt.Color.yellow,"24.0");
00429 defaultMap.put(colorScale.setTitle("Rx Delay"),colorScale);
00430
00431 colorScale = new ColorScale(80.0, java.awt.Color.blue, "80.0",160.0,java.awt.Color.red,"160.0");
00432 colorScale.add(120.,java.awt.Color.yellow,"120.0");
00433 defaultMap.put(colorScale.setTitle("Rx Threshold"),colorScale);
00434
00435 colorScale = new ColorScale(80.0, java.awt.Color.blue, "80.0",160.0,java.awt.Color.red,"160.0");
00436 colorScale.add(120.,java.awt.Color.yellow,"120.0");
00437 defaultMap.put(colorScale.setTitle("Min Rx Threshold"),colorScale);
00438 colorScale = new ColorScale(80.0, java.awt.Color.blue, "80.0",160.0,java.awt.Color.red,"160.0");
00439 colorScale.add(120.,java.awt.Color.yellow,"120.0");
00440 defaultMap.put(colorScale.setTitle("Max Rx Threshold"),colorScale);
00441 colorScale = new ColorScale(80.0, java.awt.Color.blue, "80.0",160.0,java.awt.Color.red,"160.0");
00442 colorScale.add(120.,java.awt.Color.yellow,"120.0");
00443 defaultMap.put(colorScale.setTitle("Best Rx Threshold"),colorScale);
00444
00445 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.0",255.0,java.awt.Color.red,"255.0");
00446 colorScale.add(150.,java.awt.Color.yellow,"150.0");
00447 defaultMap.put(colorScale.setTitle("Min Tx Current"),colorScale);
00448 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.0",255.0,java.awt.Color.red,"255.0");
00449 colorScale.add(150.,java.awt.Color.yellow,"150.0");
00450 defaultMap.put(colorScale.setTitle("Max Tx Current"),colorScale);
00451 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.0",255.0,java.awt.Color.red,"255.0");
00452 colorScale.add(150.,java.awt.Color.yellow,"150.0");
00453 defaultMap.put(colorScale.setTitle("Best Tx Current"),colorScale);
00454
00455 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.0",2.0,java.awt.Color.red,"2.0");
00456 colorScale.add(0.5,java.awt.Color.green,"0.5");
00457 colorScale.add(1.5,java.awt.Color.green,"1.5");
00458 defaultMap.put(colorScale.setTitle(IVSCAN_TITLE),colorScale);
00459
00460 colorScale = new ColorScale(0.0, java.awt.Color.blue, "0.",30.0,java.awt.Color.red,"30.");
00461 colorScale.add(15.0,java.awt.Color.green,"15.0");
00462 defaultMap.put(colorScale.setTitle("Optimum MS Ratio"),colorScale);
00463
00464 }
00465
00466 private String getTitleString(int display, int testIndex, int parameterIndex, int mouseOption, int displayOption) {
00467
00468
00469 switch(display) {
00470 case DisplayStatus.IS_MONITOR:
00471 return IS_MONITOR_TITLE;
00472 case DisplayStatus.MODULE_GROUP_SELECTION:
00473 return MODULE_GROUP_SELECTION_TITLE;
00474 case DisplayStatus.IV_DATA:
00475 switch(parameterIndex) {
00476 case 0:
00477 return "Result Status";
00478 case 1:
00479 return IVSCAN_TITLE;
00480 case 2:
00481 if(mouseOption==-1) return null;
00482 return dcsOptions[mouseOption];
00483 default:
00484 }
00485 case DisplayStatus.TEST_DATA:
00486 if(parameterIndex==3) {
00487 if(mouseOption==-1) return null;
00488 return dcsOptions[mouseOption];
00489 }
00490
00491 switch(displayOption) {
00492 case 0:
00493 case 1:
00494 if(testIndex==-1 || parameterIndex==-1) return null;
00495 return testParameters[testIndex][parameterIndex];
00496 default:
00497 return SCTDB_COMPARISON_TITLE;
00498 }
00499 case DisplayStatus.SCTDB_DATA:
00500 case DisplayStatus.SCTDB_RODDAQ_DATA:
00501 if(testIndex==-1 || parameterIndex==-1) return null;
00502 switch(parameterIndex) {
00503 case 3:
00504 return dcsOptions[mouseOption];
00505 default:
00506 return testParameters[testIndex][parameterIndex];
00507 }
00508 case DisplayStatus.DCS_DATA:
00509 return dcsOptions[parameterIndex];
00510 case DisplayStatus.PROBE_DATA:
00511 return PROBE_TITLE;
00512 default:
00513 }
00514 return null;
00515 }
00516
00517
00518
00519 }
00520