ColorScaleManager.java

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

Generated on Mon Feb 6 14:12:09 2006 for SCT DAQ/DCS Software - Java by  doxygen 1.4.6