TestsMenu.java

00001 /*
00002  * TestsMenu class
00003  * This class defines the tests menus and
00004  * the methods to access them
00005  *
00006  * @author robinson
00007  *
00008  */
00009 package DisplayGUI;
00010 import javax.swing.JMenuBar;
00011 import javax.swing.JMenuItem;
00012 import javax.swing.JMenu;
00013 
00014 import Sct_CalibrationController.TestRequest;
00015 import Sct_CalibrationController.SequenceRequest;
00016 import Sct_CalibrationController.CalibrationControllerPackage.*;
00017 
00018 import GuiComponents.System.*;
00019 
00020 
00022 public class TestsMenu extends JMenuBar implements displayParams,TestDataInfo {
00023     gui guiControl;
00024 
00025 
00026     private JMenu autoTestsMenu = new JMenu();
00027 
00028 
00029         public static final int BOCTESTS_MENU=0;
00030         public static final int DIGITALTESTS_MENU=1;
00031         public static final int ANALOGUETESTS_MENU=2;
00032         public static final int TIMINGTESTS_MENU=3;
00033         public static final int QUICKTESTS_MENU=4;
00034         public static final int SEQUENCES_MENU=5;
00035         public static final int ALLTESTS_MENU=6;
00036         public static final int SCTDAQTESTS_MENU=7;
00037 
00038         private int N_MENUS=8;
00039 
00040         private JMenu[] guiMenu;
00041 
00042         public TestsMenu(gui guiControl) {
00043                 this.guiControl = guiControl;
00044 
00045         autoTestsMenu = new JMenu("Complete Test List");
00046                 autoTestsMenu.setFont(menuFont);
00047                 buildAutoTestsMenu();
00048 
00049 
00050                 guiMenu = new JMenu[N_MENUS];
00051                 for(int imenu=0;imenu<N_MENUS;imenu++) {
00052                         switch(imenu) {
00053                                 case BOCTESTS_MENU:
00054                                         guiMenu[imenu]=getBOCMenu();
00055                                         break;
00056                                 case ANALOGUETESTS_MENU:
00057                                         guiMenu[imenu]=getAnalogueMenu();
00058                                         break;
00059                                 case DIGITALTESTS_MENU:
00060                                         guiMenu[imenu]=getDigitalMenu();
00061                                         break;
00062                                 case TIMINGTESTS_MENU:
00063                                         guiMenu[imenu]=getTimingTestsMenu();
00064                                         break;
00065                                 case QUICKTESTS_MENU:
00066                         guiMenu[imenu]=getQuickTestsMenu();
00067                                         break;
00068                                 case SEQUENCES_MENU:
00069                                         guiMenu[imenu]=getSequencesMenu();
00070                                         break;
00071                                 case ALLTESTS_MENU:
00072                                         guiMenu[imenu]=autoTestsMenu;
00073                                         break;
00074                                 case SCTDAQTESTS_MENU:
00075                                         guiMenu[imenu]=getSCTDAQMenu();
00076                                         break;
00077                                 default:
00078                                 }
00079                         guiMenu[imenu].setFont(menuFont);
00080                         guiMenu[imenu].setBackground(backgroundColor);
00081             //guiMenu[imenu].setForeground(menuColor);
00082                         }
00083                 }
00084 
00085         public JMenu getMenu(int menu) {
00086                 return guiMenu[menu];
00087                 }
00088         public javax.swing.JPopupMenu getPopupMenu(int menu) {
00089                 return guiMenu[menu].getPopupMenu();
00090                 }
00091 
00092         private JMenu getSCTDAQMenu() {
00093        JMenu sctdaqmenu = new JMenu("SCTDAQ Exerciser");
00094 
00095        sctdaqmenu.setFont(menuFont);
00096 
00097        JMenuItem menuItem = new JMenuItem("Ping");
00098        menuItem.setFont(menuFont);
00099        menuItem.addActionListener(new java.awt.event.ActionListener() {
00100                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00101                      //There is no ping method atm
00102                      //System.out.println(si.getTestApi().ping(""));
00103                      }
00104              });
00105        sctdaqmenu.add(menuItem);
00106        sctdaqmenu.addSeparator();
00107 
00108        for(int i=0;i<testIsSCTDAQ.length;i++) {
00109          if(!testIsDefined[i] || !testIsSCTDAQ[i]) continue;
00110          menuItem = new JMenuItem(testMenuNames[i]);
00111          menuItem.setFont(menuFont);
00112          sctdaqmenu.add(menuItem);
00113          switch(i) {
00114             case TEST_FULLBYPASS:
00115               menuItem.addActionListener(new java.awt.event.ActionListener() {
00116                 public void actionPerformed(java.awt.event.ActionEvent evt) {
00117                    guiControl.displayStatus.setTestDataMode(-1);
00118                    try {
00119                        if((SystemInterface.getInstance().getTestHighLevelApi())!=null) SystemInterface.getInstance().getTestHighLevelApi().fullBypass();
00120                    } catch (SctTestApi.NoDataException nde) {}
00121 //                   System.out.println("Start full bypass test via sct_api_server");
00122 //                   if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_FULLBYPASS);
00123                    }
00124               });
00125             case TEST_PIPELINE:
00126               menuItem.addActionListener(new java.awt.event.ActionListener() {
00127                 public void actionPerformed(java.awt.event.ActionEvent evt) {
00128 //                    guiControl.displayStatus.setTestDataMode(-1);
00129                     try {
00130                         if((SystemInterface.getInstance().getTestHighLevelApi())!=null) SystemInterface.getInstance().getTestHighLevelApi().pipeline();
00131                     } catch (SctTestApi.NoDataException nde) {}
00132 //                   System.out.println("Start pipeline test via sct_api_server");
00133 //                   if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_PIPELINE);
00134                    }
00135               });
00136             break;
00137             case TEST_STROBEDELAY:
00138               menuItem.addActionListener(new java.awt.event.ActionListener() {
00139                 public void actionPerformed(java.awt.event.ActionEvent evt) {
00140 //                    guiControl.displayStatus.setTestDataMode(-1); 
00141                     try {
00142                         if((SystemInterface.getInstance().getTestHighLevelApi())!=null) SystemInterface.getInstance().getTestHighLevelApi().strobeDelay();
00143                     } catch (SctTestApi.NoDataException nde) {}
00144 //                    System.out.println("Start strobe delay test via sct_api_server");
00145 //                    if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_STROBEDELAY);
00146                    }
00147               });
00148              break;
00149             case TEST_3PTGAIN:
00150               menuItem.addActionListener(new java.awt.event.ActionListener() {
00151                 public void actionPerformed(java.awt.event.ActionEvent evt) {
00152 //                    guiControl.displayStatus.setTestDataMode(-1);
00153                     try {
00154                         if((SystemInterface.getInstance().getTestHighLevelApi())!=null) SystemInterface.getInstance().getTestHighLevelApi().threePointGain();
00155                     } catch (SctTestApi.NoDataException nde) {}
00156 //                    System.out.println("Start 3PtGain test via sct_api_server");
00157 //                    if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_3PTGAIN);
00158                    }
00159               });
00160              break;
00161             case TEST_TRIM:
00162               menuItem.addActionListener(new java.awt.event.ActionListener() {
00163                 public void actionPerformed(java.awt.event.ActionEvent evt) {
00164 //                    guiControl.displayStatus.setTestDataMode(-1);
00165                     try {
00166                         if((SystemInterface.getInstance().getTestHighLevelApi())!=null) SystemInterface.getInstance().getTestHighLevelApi().trim();
00167                     } catch (SctTestApi.NoDataException nde) {}
00168                    //System.out.println("Start Trim Range test via sct_api_server");
00169 //                   if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_TRIM);
00170                    }
00171               });
00172              break;
00173             case TEST_NPTGAIN:
00174               menuItem.addActionListener(new java.awt.event.ActionListener() {
00175                 public void actionPerformed(java.awt.event.ActionEvent evt) {
00176 //                    guiControl.displayStatus.setTestDataMode(-1);
00177                     try {
00178                         if((SystemInterface.getInstance().getTestHighLevelApi())!=null) SystemInterface.getInstance().getTestHighLevelApi().responseCurve();
00179                     } catch (SctTestApi.NoDataException nde) {}
00180                    //System.out.println("Start NPtGain test via sct_api_server");
00181 //                   if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_NPTGAIN);
00182                    }
00183               });
00184              break;
00185             case TEST_NOISE:
00186               menuItem.addActionListener(new java.awt.event.ActionListener() {
00187                 public void actionPerformed(java.awt.event.ActionEvent evt) {
00188 //                    guiControl.displayStatus.setTestDataMode(-1);
00189                     try {
00190                         if((SystemInterface.getInstance().getTestHighLevelApi())!=null) SystemInterface.getInstance().getTestHighLevelApi().noiseOccupancy();
00191                     } catch (SctTestApi.NoDataException nde) {}
00192                    //System.out.println("Start Noise test via sct_api_server");
00193 //                   if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_NOISE);
00194                    }
00195               });
00196              break;
00197             case TEST_TIMEWALK:
00198               menuItem.addActionListener(new java.awt.event.ActionListener() {
00199                 public void actionPerformed(java.awt.event.ActionEvent evt) {
00200 //                    guiControl.displayStatus.setTestDataMode(-1);
00201                     try {
00202                         if((SystemInterface.getInstance().getTestHighLevelApi())!=null) SystemInterface.getInstance().getTestHighLevelApi().timeWalk();
00203                     } catch (SctTestApi.NoDataException nde) {}
00204                    //System.out.println("Start TimeWalk test via sct_api_server");
00205 //                   if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_TIMEWALK);
00206                    }
00207               });
00208              break;
00209              default:
00210              }
00211          }
00212     return sctdaqmenu;
00213     }
00214 
00215         private JMenu getSequencesMenu() {
00216    JMenu sequencesMenu = new JMenu("Sequences");
00217        sequencesMenu.setFont(menuFont);
00218 
00219        JMenuItem menuItem = new JMenuItem("Characterization");
00220        menuItem.setFont(menuFont);
00221        menuItem.addActionListener(new java.awt.event.ActionListener() {
00222                public void actionPerformed(java.awt.event.ActionEvent evt) {
00223                    try{
00224                        SystemInterface.getInstance().getCalibrationController().doSequence(SystemInterface.getInstance().getCalibrationController().getSequenceLibrary().characterizationSequence());
00225                    }catch(Throwable e){
00226                        System.out.println("Error communicating with CalibrationController [GuiMenuBar2:CharacterizationSequence]");
00227                    };
00228                };
00229            });
00230 
00231        sequencesMenu.add(menuItem);
00232            return sequencesMenu;
00233            }
00234 
00235         private JMenu getQuickTestsMenu() {
00236        JMenu quickTestsMenu = new JMenu("Quick Tests");
00237        quickTestsMenu.setFont(menuFont);
00238 
00239        JMenuItem menuItem = new JMenuItem("Quick NMask");
00240        menuItem.setFont(menuFont);
00241        menuItem.addActionListener(new java.awt.event.ActionListener() {
00242                public void actionPerformed(java.awt.event.ActionEvent evt) {
00243                    menuDoTest(menuGetTestByName("QuickNMask"));
00244                }
00245            });
00246        quickTestsMenu.add(menuItem);
00247 
00248        menuItem = new JMenuItem("Five point gain");
00249        menuItem.setFont(menuFont);
00250        menuItem.addActionListener(new java.awt.event.ActionListener() {
00251                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00252                      menuDoTest(menuGetTestByName("FivePointGain"));
00253                  }
00254            });
00255        quickTestsMenu.add(menuItem);
00256 
00257        menuItem = new JMenuItem("QuickTrim");
00258        menuItem.setFont(menuFont);
00259        menuItem.addActionListener(new java.awt.event.ActionListener() {
00260                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00261                      menuDoTest(menuGetTestByName("QuickTrimRange") );
00262                  }
00263              });
00264 
00265        quickTestsMenu.add(menuItem);
00266            return quickTestsMenu;
00267            }
00268 
00269         private JMenu getTimingTestsMenu() {
00270 
00271        JMenu timingTestsMenu = new JMenu("Timing Tests");
00272        timingTestsMenu.setFont(menuFont);
00273 
00274        JMenuItem menuItem = new JMenuItem("Synch Trigger Noise");
00275        menuItem.setFont(menuFont);
00276        menuItem.addActionListener(new java.awt.event.ActionListener() {
00277                public void actionPerformed(java.awt.event.ActionEvent evt) {
00278                    menuDoTest(menuGetTestByName("SynchTriggerNoise"));
00279                }
00280            });
00281 
00282        timingTestsMenu.add(menuItem);
00283 
00284        menuItem = new JMenuItem("Double Trigger Noise");
00285        menuItem.setFont(menuFont);
00286        menuItem.addActionListener(new java.awt.event.ActionListener() {
00287                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00288  //                    guiControl.displayStatus.setTestDataMode(-1);
00289                      menuDoTest(menuGetTestByName("DoubleTriggerNoise"));
00290                      }
00291              });
00292 
00293        timingTestsMenu.add(menuItem);
00294 
00295        menuItem = new JMenuItem("Pre Trigger Noise");
00296        menuItem.setFont(menuFont);
00297        menuItem.addActionListener(new java.awt.event.ActionListener() {
00298                public void actionPerformed(java.awt.event.ActionEvent evt) {
00299                    menuDoTest(menuGetTestByName("PreTriggerNoise"));
00300                }
00301            });
00302 
00303        timingTestsMenu.add(menuItem);
00304 
00305        menuItem = new JMenuItem("TIM clock delay");
00306        menuItem.setFont(menuFont);
00307        menuItem.addActionListener(new java.awt.event.ActionListener() {
00308                public void actionPerformed(java.awt.event.ActionEvent evt) {
00309                    menuDoTest(menuGetTestByName("TimClockDelay"));
00310                }
00311            });
00312 
00313        timingTestsMenu.add(menuItem);
00314        return timingTestsMenu;
00315            }
00316 
00317         private JMenu getAnalogueMenu() {
00318 
00319        JMenu analogueTestsMenu = new JMenu("Analogue Tests");
00320        analogueTestsMenu.setFont(menuFont);
00321 
00322 
00323        JMenuItem menuItem = new JMenuItem("Strobe Delay");
00324        menuItem.setFont(menuFont);
00325        menuItem.addActionListener(new java.awt.event.ActionListener() {
00326                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00327  //                    guiControl.displayStatus.setTestDataMode(-1);
00328                      menuDoTest(menuGetTestByName("StrobeDelay"));
00329                      }
00330              });
00331 
00332        analogueTestsMenu.add(menuItem);
00333 
00334        menuItem = new JMenuItem("3PtGain");
00335        menuItem.setFont(menuFont);
00336        menuItem.addActionListener(new java.awt.event.ActionListener() {
00337                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00338  //                    guiControl.displayStatus.setTestDataMode(-1);
00339                      menuDoTest(menuGetTestByName("ThreePointGain"));
00340                      }
00341              });
00342 
00343        analogueTestsMenu.add(menuItem);
00344 
00345        menuItem = new JMenuItem("Trim");
00346        menuItem.setFont(menuFont);
00347        menuItem.addActionListener(new java.awt.event.ActionListener() {
00348                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00349  //                    guiControl.displayStatus.setTestDataMode(-1);
00350                      menuDoTest(menuGetTestByName("TrimRange") );
00351                      }
00352              });
00353 
00354        analogueTestsMenu.add(menuItem);
00355 
00356        menuItem = new JMenuItem("ResponseCurve");
00357        menuItem.setFont(menuFont);
00358        menuItem.addActionListener(new java.awt.event.ActionListener() {
00359                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00360  //                    guiControl.displayStatus.setTestDataMode(-1);
00361                      menuDoTest(menuGetTestByName("ResponseCurve"));
00362                      }
00363              });
00364 
00365        analogueTestsMenu.add(menuItem);
00366 
00367        menuItem = new JMenuItem("Noise Occupancy");
00368        menuItem.setFont(menuFont);
00369        menuItem.addActionListener(new java.awt.event.ActionListener() {
00370                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00371  //                    guiControl.displayStatus.setTestDataMode(-1);
00372                      menuDoTest(menuGetTestByName("NoiseOccupancy") );
00373                      }
00374              });
00375 
00376        analogueTestsMenu.add(menuItem);
00377 
00378        menuItem = new JMenuItem("Time Walk");
00379        menuItem.setFont(menuFont);
00380        menuItem.addActionListener(new java.awt.event.ActionListener() {
00381                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00382  //                    guiControl.displayStatus.setTestDataMode(-1);
00383                      menuDoTest(menuGetTestByName("TimeWalk"));
00384                      }
00385              });
00386 
00387        analogueTestsMenu.add(menuItem);
00388        return analogueTestsMenu;
00389            }
00390 
00391         private JMenu getDigitalMenu() {
00392 
00393        JMenu digitalTestsMenu = new JMenu("Digital Tests");
00394        digitalTestsMenu.setFont(menuFont);
00395 
00396        JMenuItem menuItem = new JMenuItem("NMask");
00397        menuItem.setFont(menuFont);
00398 
00399        menuItem.addActionListener(new java.awt.event.ActionListener() {
00400                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00401 //                    guiControl.displayStatus.setTestDataMode(-1);
00402                      menuDoTest(menuGetTestByName("NMask"));
00403                      }
00404              });
00405 
00406 
00407        digitalTestsMenu.add(menuItem);
00408 
00409        menuItem = new JMenuItem("Pipeline");
00410        menuItem.setFont(menuFont);
00411        menuItem.addActionListener(new java.awt.event.ActionListener() {
00412                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00413  //                    guiControl.displayStatus.setTestDataMode(-1);
00414                      menuDoTest(menuGetTestByName("Pipeline"));
00415                      }
00416              });
00417 
00418        digitalTestsMenu.add(menuItem);
00419 
00420        menuItem = new JMenuItem("FullByPass (Barrel)");
00421        menuItem.setFont(menuFont);
00422        menuItem.addActionListener(new java.awt.event.ActionListener() {
00423                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00424  //                    guiControl.displayStatus.setTestDataMode(-1);
00425                      menuDoTest(menuGetTestByName("FullBypassBarrel") );
00426                  }
00427              });
00428 
00429        digitalTestsMenu.add(menuItem);
00430 
00431        menuItem = new JMenuItem("FullByPass (Endcap)");
00432        menuItem.setFont(menuFont);
00433        menuItem.addActionListener(new java.awt.event.ActionListener() {
00434                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00435  //                    guiControl.displayStatus.setTestDataMode(-1);
00436                      menuDoTest(menuGetTestByName("FullBypassEndcap") );
00437                  }
00438              });
00439 
00440        digitalTestsMenu.add(menuItem);
00441            return digitalTestsMenu;
00442            }
00443 
00444         private JMenu getBOCMenu() {
00445        JMenu bocTestsMenu = new JMenu("Boc Setup");
00446        bocTestsMenu.setFont(menuFont);
00447        JMenuItem menuItem = new JMenuItem("Raw Scan");
00448        menuItem.setFont(menuFont);
00449        menuItem.addActionListener(new java.awt.event.ActionListener() {
00450                public void actionPerformed(java.awt.event.ActionEvent evt) {
00451                    try{
00452                        SystemInterface.getInstance().getCalibrationController().doScan(SystemInterface.getInstance().getCalibrationController().getScanLibrary().rawScan(10,false));
00453                    }catch(Throwable e){
00454                        javax.swing.JOptionPane.showMessageDialog(null,"Error communicating with Calibration Controller [GuiMenuBar2:RawScan]");
00455                    }
00456                }
00457            });
00458 
00459        bocTestsMenu.add(menuItem);
00460 
00461        /*       menuItem = new JMenuItem("RX Threshold (Old Clk/2)");
00462        menuItem.setFont(menuFont);
00463        menuItem.addActionListener(new java.awt.event.ActionListener() {
00464                public void actionPerformed(java.awt.event.ActionEvent evt) {
00465                    //Sct_CalibrationController.ScanRequest request = si.getCalibrationController().getScanLibrary().rawScan(10);
00466                    //request.getScan().configure((short)50, 0., 200., 5.);
00467                    //si.getCalibrationController().doScan( request );
00468                    menuDoTest(si.getCalibrationController().getTestLibrary().getTestRequestByName("RxThreshold")  );
00469                }
00470            });
00471            bocTestsMenu.add(menuItem); */
00472 
00473        menuItem = new JMenuItem("RX Threshold (Config Register)");
00474        menuItem.setFont(menuFont);
00475        menuItem.addActionListener(new java.awt.event.ActionListener() {
00476                public void actionPerformed(java.awt.event.ActionEvent evt) {
00477                    menuDoTest(menuGetTestByName("RxThresholdBasedOnConfigRegister")  );
00478                }
00479            });
00480        bocTestsMenu.add(menuItem);
00481 
00482        menuItem = new JMenuItem("RX Delay");
00483        menuItem.setFont(menuFont);
00484        menuItem.addActionListener(new java.awt.event.ActionListener() {
00485                public void actionPerformed(java.awt.event.ActionEvent evt) {
00486                    //Sct_CalibrationController.ScanRequest request = si.getCalibrationController().getScanLibrary().rawScan(10);
00487                    //request.getScan().configure((short)20, 0., 24., 1.);
00488                    //si.getCalibrationController().doScan( request );
00489                    menuDoTest(menuGetTestByName("RxDelay")  );
00490                }
00491            });
00492        bocTestsMenu.add(menuItem);
00493 
00494        /*menuItem = new JMenuItem("TX Current (old, no analysis)");
00495        menuItem.setFont(menuFont);
00496        menuItem.addActionListener(new java.awt.event.ActionListener() {
00497                public void actionPerformed(java.awt.event.ActionEvent evt) {
00498                    Sct_CalibrationController.ScanRequest request = si.getCalibrationController().getScanLibrary().rawScan(10,false);
00499                    request.getScanCorba().configure((short)53, 60., 200., 10.);
00500                    si.getCalibrationController().doScan( request );
00501                }
00502            });
00503            bocTestsMenu.add(menuItem);*/
00504 
00505        menuItem = new JMenuItem("TX Current (Config Register)");
00506        menuItem.setFont(menuFont);
00507        menuItem.addActionListener(new java.awt.event.ActionListener() {
00508                public void actionPerformed(java.awt.event.ActionEvent evt) {
00509                    menuDoTest(menuGetTestByName("TxCurrent")  );
00510                }
00511            });
00512        bocTestsMenu.add(menuItem);
00513 
00514        //******
00515        menuItem = new JMenuItem("Mark-space ratio");
00516        menuItem.setFont(menuFont);
00517        menuItem.addActionListener(new java.awt.event.ActionListener() {
00518                public void actionPerformed(java.awt.event.ActionEvent evt) {
00519                    menuDoTest(menuGetTestByName("MarkSpaceRatio")  );
00520                }
00521            });
00522        bocTestsMenu.add(menuItem);
00523        return bocTestsMenu;
00524            }
00525 
00526 
00527     private void menuDoTest(Sct_CalibrationController.TestRequest tr){
00528                 try{
00529                 Sct_CalibrationController.CalibrationController cc = SystemInterface.getInstance().getCalibrationController();
00530                 if (tr==null)javax.swing.JOptionPane.showMessageDialog(null,"Attempt to send a null TestRequest to the CalbrationController");
00531                 else cc.doTest(tr);
00532             }
00533             catch(Throwable e){javax.swing.JOptionPane.showMessageDialog(null,"GUI Error trying to communicate with Calibration Controller! [GuiMenuBar2:menuDoTest]" + e.toString());}
00534                 return;
00535     }
00536 
00537     private Sct_CalibrationController.TestRequest menuGetTestByName(String name){
00538                 SystemInterface.getInstance().refresh();
00539                 Sct_CalibrationController.CalibrationController cc = SystemInterface.getInstance().getCalibrationController();
00540                 if (cc==null) {
00541                         cc = SystemInterface.getInstance().getCalibrationController();
00542                         if(cc==null) {
00543                                 javax.swing.JOptionPane.showMessageDialog(null,"Could not get Calibration Controller");
00544                                 return null;
00545                                 }
00546                         }
00547                 Sct_CalibrationController.TestLibrary tl = cc.getTestLibrary();
00548                 if (tl==null) javax.swing.JOptionPane.showMessageDialog(null,"Could not get Test Libarary from Calibration Controller");
00549                 Sct_CalibrationController.TestRequest tr = tl.getTestRequestByName(name);
00550                 if (tr==null) javax.swing.JOptionPane.showMessageDialog(null,"Could not get test with name "+name+" from library");
00551                 return tr;
00552     }
00553 
00554          public void buildAutoTestsMenu(){
00555        //System.out.println("Rebuilding auto tests menu...");
00556       if(autoTestsMenu.getItemCount()>1) return;  // already done
00557       autoTestsMenu.removeAll();
00558           SystemInterface si = SystemInterface.getInstance();
00559       if (si!=null) {
00560           Sct_CalibrationController.CalibrationController cc = SystemInterface.getInstance().getCalibrationController();
00561           if (cc!=null) {
00562               Sct_CalibrationController.TestLibrary tl = cc.getTestLibrary();
00563               if (tl!=null) {
00564                   String[] testNames = si.getCalibrationController().getTestLibrary().getTestNames();
00565                   for (int i=0; i<testNames.length; ++i) {
00566                       final String name = testNames[i];
00567                       JMenuItem menuItem = new JMenuItem(name);
00568                       menuItem.setFont(menuFont);
00569                       menuItem.addActionListener(new java.awt.event.ActionListener() {
00570                               public void actionPerformed(java.awt.event.ActionEvent evt) {
00571                                   menuDoTest(menuGetTestByName(name));
00572                               }
00573                           });
00574 
00575                       autoTestsMenu.add(menuItem);
00576                   };
00577               };
00578           };
00579       };
00580      //System.out.println("Auto Tests Menu has "+autoTestsMenu.getItemCount()+" items");
00581       if (autoTestsMenu.getItemCount()==0){
00582           JMenuItem menuItem = new JMenuItem("Not available");
00583           menuItem.setFont(menuFont);
00584           autoTestsMenu.add(menuItem);
00585       }
00586    }
00587 
00588 
00589 
00590 }

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