Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

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 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 //           System.err.println("SctGUI::ColorScaleManager: No scale defined for : "+display+","+testIndex+","+parameterIndex+","+displayOption);
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 //                   thisScale.printData();
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 //            thisScale.printData();
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; // get content up to start of color scale definitions
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) {              // DCS data
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: // DCS stuff
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 

Generated on Fri Sep 16 18:05:54 2005 for SCT DAQ/DCS Software - Java by doxygen 1.3.5