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

GuiMenuBar2.java

00001 package DisplayGUI;
00002 import java.awt.event.*;
00003 import javax.swing.JMenuBar;
00004 import javax.swing.JMenuItem;
00005 import javax.swing.JMenu;
00006 import javax.swing.KeyStroke;
00007 import javax.swing.JFrame;
00008 import javax.swing.JCheckBox;
00009 import javax.swing.JPopupMenu;
00010 import javax.swing.JOptionPane;
00011 import javax.swing.JScrollPane;
00012 import Preferences.*;
00013 //
00014 import Sct.Version;
00015 import Sct_CalibrationController.TestRequest;
00016 import Sct_CalibrationController.SequenceRequest;
00017 import Sct_CalibrationController.CalibrationControllerPackage.*;
00018 
00019 import GuiComponents.System.*;
00020 import GuiComponents.scripting.*;
00021 import GuiComponents.Console.JConsole;
00022 
00023 public class GuiMenuBar2 extends JMenuBar implements displayParams,ActionListener,TestDataInfo {
00024     gui guiControl;
00025     ManualConfiguration manualConfiguration;
00026     private SystemInterface si;
00027     String option;
00028     private String[] configOptionNames={"Read Hardware Configuration","Manual Configuration..."};
00029 //    private String[] displayOptionNames={"ModuleGroup Selection","Data Manager","Test Results","SCTDAQ Reference","SctRodDaq Reference","DCS Info"};
00030     private String serialNumber;
00031 
00032     protected ISTree isTree;
00033     private JMenu menu, systemMenu, displayMenu, ccMenu, testMenu, panelTestMenu, panelDisplayMenu;
00034     private JMenu testResultMenu, sctdbDataMenu, configMenu, dcsOptionMenu, ivScanOptionMenu;
00035     public JMenu testDataMenu,sctdbDataSNMenu, dataManagerSNMenu, ivScanMenu;
00036     private JMenu testDataOptionMenu, panelTestDataOptionMenu, sctdbSCTDAQOptionMenu,sctdbRODDAQOptionMenu,tableDataOptionMenu, ccDataOptionMenu, displayOptionMenu, panelsctdbSCTDAQOptionMenu,panelsctdbRODDAQOptionMenu;
00037     private JMenuItem menuItem;
00038     private JMenuItem[] configOptions = new JMenuItem[configOptionNames.length];
00039 //    private JMenuItem[] displayOptions = new JMenuItem[DisplayStatus.statusNames.length-1];
00040 //     private JMenuItem ccPingItem, ccNMaskItem, ccStrobeDelayItem, ccThreePointGainItem, ccTrimItem, ccResponseCurveItem, ccNoiseItem, ccFullBypassItem, ccPipelineItem, ccTimeWalkItem;
00041  //    private JMenuItem ccCharacterisationItem;
00042 
00043     private JMenuItem sctapiPing, sctapiInitialise;
00044     private JMenuItem[] sctapiItems = new JMenuItem[testMenuNames.length];
00045 
00046     private JCheckBox sctdbAutoDownload = new JCheckBox("Enable SCTDAQ Auto-Download");
00047     private JCheckBox sctdbAutoUpload = new JCheckBox("Enable SctRodDaq Auto-Upload");
00048 //    private JCheckBox dcsEnabled = new JCheckBox("Enable DCS Monitoring");
00049     private String[] ccUpdateStrings = {"Update","No-Update","Wait"};
00050     private JCheckBox[] ccUpdateModes = new JCheckBox[ccUpdateStrings.length];
00051     public JCheckBox autoSelectMode = new JCheckBox("AutoSelect New Tests");
00052     
00053     private JMenuItem scriptBeanShellItem, scriptJythonItem;
00054     private JMenuItem isTreeItem;
00055     private JCheckBox[] testFilterButtons = new JCheckBox[testMenuNames.length+1];
00056     private JMenu testFilterMenu;
00057 
00058     private JMenuItem[] testDataOptions = new JMenuItem[3];
00059 
00060     private JMenuItem[] preferenceItem = new JMenuItem[PreferencesInterface.getInstance().getNoPreferences()];
00061 
00062     private JMenuItem testReportItem;
00063 
00064     private JFrame hardwareWindow = null;
00065 
00066     int itemIndex;
00067 
00068     private DisplayChoiceToolbar displayChoiceToolbar;
00069 
00070     public GuiMenuBar2(gui parent) {
00071         guiControl=parent;
00072         createMenuBar();
00073     }
00074     public String getSelectedSerialNo() {
00075         return serialNumber;
00076     }
00077     public void setSelectedSerialNo(String sn) {
00078         serialNumber=sn;
00079     }
00080 
00081     public boolean autoUploadIsEnabled() {
00082       return sctdbAutoUpload.isSelected();
00083       }
00084 
00085     public void createMenuBar() {
00086 
00087 
00088         si = SystemInterface.getInstance();
00089 
00090 
00091        getTestDataMenu();
00092        getIVScanMenu();
00093        getSCTDBDataMenu();
00094        getTableDataSNMenu();
00095 
00096       
00097        systemMenu = new JMenu("System");
00098        systemMenu.setBackground(backgroundColor);
00099        systemMenu.setFont(menuFont);
00100        systemMenu.setForeground(menuColor);
00101 
00102        menuItem = new JMenuItem("Refresh");
00103        menuItem.setFont(menuFont);
00104        menuItem.addActionListener(new java.awt.event.ActionListener() {
00105                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00106                     si.refresh();  
00107                     guiControl.displayPane.refreshDisplay();                 
00108                      }
00109              });
00110        systemMenu.add(menuItem);
00111 
00112        menuItem = new JMenuItem("Hardware Configuration...");
00113        menuItem.setFont(menuFont);
00114        menuItem.addActionListener(new java.awt.event.ActionListener() {
00115              public void actionPerformed(java.awt.event.ActionEvent evt) {
00116             if(hardwareWindow==null) {
00117                 hardwareWindow = new JFrame("Hardware Configuration");                  
00118                 hardwareWindow.getContentPane().add(new HardwareConfigurationPanel());
00119                 hardwareWindow.pack();
00120                 java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
00121                 java.awt.Dimension WSize = hardwareWindow.getSize();
00122                 hardwareWindow.setLocation((screenSize.width-(int)WSize.getWidth())/2,(screenSize.height-(int)WSize.getHeight())/2);
00123                 hardwareWindow.addWindowListener(new WindowAdapter() {
00124                             public void windowClosing(WindowEvent e) {
00125                                   hardwareWindow=null;
00126 //                                e.getWindow().dispose();
00127                             }
00128                         });
00129                 }
00130             hardwareWindow.show();
00131               }
00132           });  
00133        systemMenu.add(menuItem);
00134 
00135 
00136        ccDataOptionMenu = getCCDataOptionMenu();
00137        systemMenu.add(ccDataOptionMenu);
00138        systemMenu.addSeparator();
00139        menuItem = new JMenuItem("Exit SctGUI");
00140        menuItem.setFont(menuFont);
00141        menuItem.addActionListener(new java.awt.event.ActionListener() {
00142                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00143                     guiControl.exitForm(null);                   
00144                      }
00145              });
00146        systemMenu.add(menuItem);
00147        add(systemMenu);      
00148 
00149 // Display menu
00150 
00151        displayMenu = getDisplayMenu();
00152        displayMenu.addSeparator();
00153        menuItem = new JMenuItem("Toolbar ...");
00154        menuItem.setFont(menuFont);
00155        menuItem.addActionListener(new java.awt.event.ActionListener() {
00156             public void actionPerformed(java.awt.event.ActionEvent evt) {
00157                      if(displayChoiceToolbar!=null) displayChoiceToolbar.setVisible(true);
00158                      else {
00159                          displayChoiceToolbar = new DisplayChoiceToolbar(guiControl);      
00160                          java.awt.Dimension s = displayChoiceToolbar.getSize();
00161                          displayChoiceToolbar.setSize((int)s.getWidth()+1,(int)s.getHeight()+1);
00162                          }                            
00163                      }
00164              });
00165        displayMenu.add(menuItem);
00166        add(displayMenu);
00167 
00168 // display menu for right mouse clicks on main display panel
00169        panelDisplayMenu = getDisplayMenu();
00170        panelDisplayMenu.setText("Select Display");
00171 
00172 // All tests
00173        testMenu = getTestInvokeMenu();
00174        testMenu.setBackground(backgroundColor);
00175        testMenu.setFont(menuFont);
00176        testMenu.setForeground(menuColor);
00177        add(testMenu);
00178 
00179        panelTestMenu = getTestInvokeMenu();
00180        panelTestMenu.setText("Invoke Tests");
00181        panelTestMenu.setFont(menuFont);
00182 
00183 // Options menu
00184        ivScanOptionMenu = getIVScanOptionMenu();
00185        dcsOptionMenu = getDCSOptionMenu();
00186        displayOptionMenu = getDisplayOptionMenu();
00187        testDataOptionMenu = getTestDataOptionMenu();
00188        tableDataOptionMenu = getTableDataOptionMenu();
00189        sctdbSCTDAQOptionMenu = getDBSCTDAQDataOptionMenu(false);
00190        sctdbRODDAQOptionMenu = getDBRODDAQDataOptionMenu(false);
00191        menu = new JMenu("Options");
00192        menu.setBackground(backgroundColor);
00193        menu.setFont(menuFont);
00194        menu.setForeground(menuColor);
00195 
00196        configMenu = new JMenu("Configuration");
00197        configMenu.setFont(menuFont);
00198        for(int i=0;i<configOptionNames.length;i++) {
00199           configOptions[i] = new JMenuItem(configOptionNames[i]);
00200           configOptions[i].setFont(menuFont);
00201           configMenu.add(configOptions[i]);
00202           switch(i) {
00203             case 0:
00204              configOptions[i].addActionListener(new java.awt.event.ActionListener() {
00205                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00206                     ConfigurationInterface.getInstance().Refresh();
00207                     guiControl.displayStatus.setConfigurationMode();                   
00208                      }
00209              });
00210              break;
00211             case 1:
00212              configOptions[i].addActionListener(new java.awt.event.ActionListener() {
00213                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00214                    guiControl.displayStatus.setModuleGroupSelectionMode();
00215                    if(manualConfiguration==null) manualConfiguration = new ManualConfiguration(guiControl);
00216                    else manualConfiguration.showFrame();                  
00217                      }
00218              });
00219             default:
00220             }
00221           }
00222        menu.add(configMenu);
00223        menu.add(displayOptionMenu);       
00224        menu.add(tableDataOptionMenu);
00225        menu.add(testDataOptionMenu);
00226      
00227        JMenu sctdbMenu = new JMenu("SCT Database");
00228        sctdbMenu.setFont(menuFont);
00229        sctdbMenu.add(sctdbSCTDAQOptionMenu);
00230        sctdbMenu.add(sctdbRODDAQOptionMenu);
00231        menu.add(sctdbMenu);
00232        menu.add(dcsOptionMenu);
00233 
00234        add(menu);
00235 
00236        panelTestDataOptionMenu = getTestDataOptionMenu();
00237        panelsctdbSCTDAQOptionMenu = getDBSCTDAQDataOptionMenu(true);
00238        panelsctdbRODDAQOptionMenu = getDBRODDAQDataOptionMenu(true);
00239 
00240 
00241 // Tools menu
00242        menu = new JMenu("Tools");
00243        menu.setBackground(backgroundColor);
00244        menu.setFont(menuFont);
00245        menu.setForeground(menuColor);
00246        isTreeItem = new JMenuItem("IS Tree...");
00247        isTreeItem.setFont(menuFont);
00248        isTreeItem.addActionListener(this);
00249        menu.add(isTreeItem);
00250 
00251        JMenu menu2 = new JMenu("Scripting");
00252        menu2.setFont(menuFont);
00253        /*scriptJavaScriptItem = new JMenuItem("JavaScript");
00254        scriptJavaScriptItem.setFont(menuFont);
00255        scriptJavaScriptItem.addActionListener(this);
00256        menu2.add(scriptJavaScriptItem);*/
00257        scriptBeanShellItem = new JMenuItem("BeanShell");
00258        scriptBeanShellItem.setFont(menuFont);
00259        scriptBeanShellItem.addActionListener(this);
00260        menu2.add(scriptBeanShellItem);
00261        scriptJythonItem = new JMenuItem("Jython");
00262        scriptJythonItem.setFont(menuFont);
00263        scriptJythonItem.addActionListener(this);
00264        menu2.add(scriptJythonItem);
00265        menu.add(menu2);
00266 
00267        JMenuItem item = new JMenuItem("Run GarbageCollector");
00268        item.setFont(menuFont);
00269        item.addActionListener(new java.awt.event.ActionListener() {
00270             public void actionPerformed(java.awt.event.ActionEvent evt) {
00271                Runtime r = Runtime.getRuntime();
00272                long freeMem = r.freeMemory();        
00273                long maxMem = r.maxMemory();
00274                long totalMem = r.totalMemory();
00275                System.out.println("Total Mem: " + totalMem/1024. + ", Max Mem:" + maxMem/1024. + " , Free Mem: " + freeMem/1024.);
00276                r.gc();
00277                try {
00278                  Thread.sleep(500);
00279                } catch (InterruptedException ie) {}
00280                r.gc();
00281                freeMem = r.freeMemory();
00282                maxMem = r.maxMemory();
00283                totalMem = r.totalMemory();
00284                System.out.println("Total Mem: " + totalMem/1024. + ", Max Mem:" + maxMem/1024. + " , Free Mem: " + freeMem/1024.  );
00285                    }
00286               });
00287        menu.add(item);
00288        item = new JMenuItem("Refresh Display");
00289        item.setFont(menuFont);
00290        item.addActionListener(new java.awt.event.ActionListener() {
00291             public void actionPerformed(java.awt.event.ActionEvent evt) {
00292                guiControl.displayPane.setDisplayColors();
00293                guiControl.displayPane.refreshDisplay();
00294                    }
00295               });
00296        menu.add(item);
00297 
00298        item = new JMenuItem("Launch SctApi GUI");
00299        item.setFont(menuFont);
00300        item.addActionListener(new java.awt.event.ActionListener() {
00301             public void actionPerformed(java.awt.event.ActionEvent evt) {
00302                 JFrame frame = new JFrame("SctApi GUI");
00303                 frame.getContentPane().add(new GuiComponents.Panels.SctApiGui());
00304 
00305                 frame.pack();
00306                 frame.setVisible(true);
00307             }
00308            }); 
00309        menu.add(item);
00310 
00311        add(menu);
00312 
00313 // Help menu
00314        menu = new JMenu("Help");
00315        menu.setBackground(backgroundColor);
00316        menu.setFont(menuFont);
00317        menu.setForeground(menuColor);
00318        
00319        JMenuItem helpItem = new JMenuItem("View User Manual");
00320        helpItem.setFont(menuFont);
00321        menu.add(helpItem);
00322        helpItem.addActionListener(new java.awt.event.ActionListener() {
00323              public void actionPerformed(java.awt.event.ActionEvent evt) {
00324                    guiControl.htmlViewer.show("http://www.hep.phy.cam.ac.uk/~robinson/DisplayGUI.html","Online manual");
00325                    }
00326               });
00327               
00328        JMenuItem aboutItem = new JMenuItem("About");
00329        aboutItem.setFont(menuFont);
00330        menu.add(aboutItem);
00331        aboutItem.addActionListener(new java.awt.event.ActionListener() {
00332             public void actionPerformed(java.awt.event.ActionEvent evt) {
00333                 String v = Version.instance.getAllInformation();
00334                 String s = "SctGui is the user interface for end users.  See the manual for more information";                    
00335                 s += "\nSctGui Author: Dave Robinson.";
00336                 s += "\nSctDaqRod Authors: Alan Barr, Bruce Gallop, Matthew Palmer, Dave Robinson and Alexander Tricoli";
00337                 s += "\n\n" + v;
00338                 JOptionPane.showMessageDialog(guiControl, s, "About SctGui", JOptionPane.INFORMATION_MESSAGE);
00339             }
00340            });
00341       add(menu);
00342 
00343        add(javax.swing.Box.createHorizontalGlue());
00344 
00345 // Preferences menu
00346        PreferencesInterface prefs = PreferencesInterface.getInstance();
00347        menu = new JMenu("Preferences");
00348        menu.setBackground(backgroundColor);
00349        menu.setFont(menuFont);
00350        menu.setForeground(menuColor);
00351 
00352        for(int i=0;i<prefs.getNoPreferences();i++) {
00353          switch(i) {
00354          case PreferencesInterface.SCT_VIEW:
00355          preferenceItem[i] = new JMenuItem(prefs.getDescription(i));
00356          preferenceItem[i].setFont(menuFont);
00357          menu.add(preferenceItem[i]);
00358              preferenceItem[i].addActionListener(new java.awt.event.ActionListener() {
00359              public void actionPerformed(java.awt.event.ActionEvent evt) {
00360                    Preference preference = new Preference(guiControl,PreferencesInterface.SCT_VIEW);   
00361                    guiControl.selectorPane.setSCTView(preference.getValue());                
00362                    }
00363               });
00364               break;
00365          case PreferencesInterface.INSTITUTE:
00366          preferenceItem[i] = new JMenuItem(prefs.getDescription(i));
00367          preferenceItem[i].setFont(menuFont);
00368          menu.add(preferenceItem[i]);
00369              preferenceItem[i].addActionListener(new java.awt.event.ActionListener() {
00370              public void actionPerformed(java.awt.event.ActionEvent evt) {
00371                    Preference preference = new Preference(guiControl,PreferencesInterface.INSTITUTE);                   
00372                    }
00373               });
00374               break;
00375          case PreferencesInterface.PASSWORD:
00376          preferenceItem[i] = new JMenuItem(prefs.getDescription(i));
00377          preferenceItem[i].setFont(menuFont);
00378          menu.add(preferenceItem[i]);
00379              preferenceItem[i].addActionListener(new java.awt.event.ActionListener() {
00380              public void actionPerformed(java.awt.event.ActionEvent evt) {
00381                    Preference preference = new Preference(guiControl,PreferencesInterface.PASSWORD);                   
00382                    }
00383               });
00384               break;
00385          case PreferencesInterface.PSVIEWER:
00386          preferenceItem[i] = new JMenuItem(prefs.getDescription(i));
00387          preferenceItem[i].setFont(menuFont);
00388          menu.add(preferenceItem[i]);
00389              preferenceItem[i].addActionListener(new java.awt.event.ActionListener() {
00390              public void actionPerformed(java.awt.event.ActionEvent evt) {
00391                    Preference preference = new Preference(guiControl,PreferencesInterface.PSVIEWER);                   
00392                    }
00393               });
00394               break;
00395          case PreferencesInterface.SCRATCH_DIR:
00396          preferenceItem[i] = new JMenuItem(prefs.getDescription(i));
00397          preferenceItem[i].setFont(menuFont);
00398          menu.add(preferenceItem[i]);
00399              preferenceItem[i].addActionListener(new java.awt.event.ActionListener() {
00400              public void actionPerformed(java.awt.event.ActionEvent evt) {
00401                    Preference preference = new Preference(guiControl,PreferencesInterface.SCRATCH_DIR);                   
00402                    }
00403               });
00404               break;
00405          case PreferencesInterface.UPLOAD_DIR:
00406          preferenceItem[i] = new JMenuItem(prefs.getDescription(i));
00407          preferenceItem[i].setFont(menuFont);
00408          menu.add(preferenceItem[i]);
00409              preferenceItem[i].addActionListener(new java.awt.event.ActionListener() {
00410              public void actionPerformed(java.awt.event.ActionEvent evt) {
00411                    Preference preference = new Preference(guiControl,PreferencesInterface.UPLOAD_DIR);                   
00412                    }
00413               });
00414               break;
00415          case PreferencesInterface.WEB_LOOKUP_DIR:
00416          preferenceItem[i] = new JMenuItem(prefs.getDescription(i));
00417          preferenceItem[i].setFont(menuFont);
00418          menu.add(preferenceItem[i]);
00419              preferenceItem[i].addActionListener(new java.awt.event.ActionListener() {
00420              public void actionPerformed(java.awt.event.ActionEvent evt) {
00421                    Preference preference = new Preference(guiControl,PreferencesInterface.WEB_LOOKUP_DIR);                   
00422                    }
00423               });
00424               break;
00425          default:
00426          }
00427 
00428          }
00429        add(menu);
00430 
00431        testFilterMenu = getTestFilterMenu();
00432   
00433        setBorder(javax.swing.BorderFactory.createEmptyBorder());
00434        setBackground(backgroundColor);
00435    }
00436 
00437 //****************************************************
00438     private void updateToolBar(int i) {
00439         if(displayChoiceToolbar!=null) displayChoiceToolbar.setButton(i);
00440     }
00441 
00442 //**********************************************************
00443     public void actionPerformed(ActionEvent e) {
00444         JMenuItem source = (JMenuItem)(e.getSource());
00445 
00446 
00447 // Scripting
00448         if(source==scriptBeanShellItem) {
00449             addNewConsole(ScriptingInterface.instance().getBeanShellInterpreter(), "BeanShell");
00450             return;
00451         }        
00452         /*if(source==scriptJavaScriptItem) {
00453             addNewConsole(ScriptingInterface.instance().getJavaScriptInterpreter(), "JavaScript");
00454             return;
00455             }*/
00456         if(source==scriptJythonItem) {
00457             addNewConsole(ScriptingInterface.instance().getJythonInterpreter(), "Jython");
00458             return;
00459             }
00460 // Tools
00461         if(source==isTreeItem) {
00462             if(isTree==null) isTree = new ISTree(guiControl,guiControl.isInterface.getISTree());
00463             else isTree.setTree(guiControl.isInterface.getISTree());
00464             return;
00465             }
00466 
00467 
00468         }
00469 //********************************************************
00470     public void enableCCMenuItems(boolean enabled) {
00471         java.awt.Component[] component = testMenu.getMenuComponents();
00472         for(int i=0;i<component.length;i++) {
00473             if(component[i].getClass().getName().startsWith("javax.swing.JPopupMenu")) break;
00474             if(!component[i].getClass().getName().startsWith("javax.swing.JMenu")) continue;             
00475             JMenu subMenu = (JMenu)component[i];
00476             for(int y=0;y<subMenu.getItemCount();y++) {
00477                 JMenuItem item = subMenu.getItem(y);
00478                 if(item!=null) item.setEnabled(enabled);
00479             }
00480         }       
00481         component = panelTestMenu.getMenuComponents();
00482         for(int i=0;i<component.length;i++) {
00483             if(component[i].getClass().getName().startsWith("javax.swing.JPopupMenu")) break;
00484             if(!component[i].getClass().getName().startsWith("javax.swing.JMenu")) continue;             
00485             JMenu subMenu = (JMenu)component[i];
00486             for(int y=0;y<subMenu.getItemCount();y++) {
00487                 JMenuItem item = subMenu.getItem(y);
00488                 if(item!=null) item.setEnabled(enabled);
00489             }
00490         }
00491     }
00492     
00493 
00494     public void enableDisplayMenuItems(boolean enabled) {
00495         displayMenu.setEnabled(enabled);
00496     }
00497            
00498     
00499     protected boolean addNewConsole(Interpreter interpreter, String suffix) {    
00500         if (interpreter == null) {
00501             System.out.println("Can only have 1 scripting window open at once\n");
00502             return false;
00503         }
00504         JFrame frame = new JFrame();
00505         JScrollPane scroll = new JScrollPane();
00506         scroll.setViewportView(interpreter.getConsole());
00507         frame.getContentPane().add(scroll);  
00508         frame.setTitle("Scripting Window:" + suffix);
00509         frame.show();
00510         frame.setSize(800, 500);        
00511         return true;
00512     }
00513        
00514    public void showCCPopupMenu(MouseEvent e) {
00515         JPopupMenu pMenu = ccDataOptionMenu.getPopupMenu();
00516         pMenu.show(e.getComponent(),e.getX(),e.getY());
00517         pMenu.setInvoker(ccDataOptionMenu);
00518         }
00519 //**********************************************
00520 // popup menus for tables
00521    public void showTablesPopupMenu(int clickedTable, MouseEvent e) {
00522         JPopupMenu pMenu;
00523         switch(clickedTable) {
00524         case 1:
00525           switch(guiControl.displayStatus.getStatus()) {
00526             case DisplayStatus.IS_MONITOR:
00527               pMenu = dataManagerSNMenu.getPopupMenu();
00528               pMenu.show(e.getComponent(),e.getX(),e.getY());
00529               pMenu.setInvoker(dataManagerSNMenu);
00530               break;
00531             case DisplayStatus.TEST_DATA:
00532               pMenu = testDataMenu.getPopupMenu();
00533               pMenu.show(e.getComponent(),e.getX(),e.getY());
00534               pMenu.setInvoker(testDataMenu);
00535               break;
00536             case DisplayStatus.SCTDB_DATA:
00537               pMenu = sctdbDataSNMenu.getPopupMenu();
00538               pMenu.show(e.getComponent(),e.getX(),e.getY());
00539               pMenu.setInvoker(sctdbDataSNMenu);
00540               break;
00541             case DisplayStatus.SCTDB_RODDAQ_DATA:
00542               pMenu = sctdbDataSNMenu.getPopupMenu();
00543               pMenu.show(e.getComponent(),e.getX(),e.getY());
00544               pMenu.setInvoker(sctdbDataSNMenu);
00545               break;
00546             case DisplayStatus.IV_DATA:
00547               pMenu = ivScanMenu.getPopupMenu();
00548               pMenu.show(e.getComponent(),e.getX(),e.getY());
00549               pMenu.setInvoker(ivScanMenu);
00550               break;
00551             default:
00552           }
00553           break;
00554          case 0:
00555           switch(guiControl.displayStatus.getStatus()) {
00556             case DisplayStatus.IS_MONITOR:
00557               pMenu = getTable0Menu().getPopupMenu();
00558               pMenu.show(e.getComponent(),e.getX(),e.getY());
00559 //              pMenu.setInvoker(tableDataOptionMenu);
00560               break;
00561             case DisplayStatus.TEST_DATA:
00562               pMenu = testFilterMenu.getPopupMenu();
00563               pMenu.show(e.getComponent(),e.getX(),e.getY());
00564               pMenu.setInvoker(testFilterMenu);
00565               break;
00566             default:
00567           }
00568           break;
00569          default:
00570          }
00571 
00572         }
00573 
00574    public void showPopupMenu(MouseEvent e) {
00575         JPopupMenu pMenu;
00576         JMenu newMenu = new JMenu();
00577         switch(guiControl.displayStatus.getStatus()) {
00578         case DisplayStatus.UNDEFINED:
00579            pMenu = configMenu.getPopupMenu();
00580            pMenu.show(e.getComponent(),e.getX(),e.getY());
00581            pMenu.setInvoker(configMenu);
00582            break;  
00583         case DisplayStatus.MODULE_GROUP_SELECTION:
00584            pMenu = displayMenu.getPopupMenu();
00585            pMenu.show(e.getComponent(),e.getX(),e.getY());
00586            pMenu.setInvoker(displayMenu);
00587            break;  
00588         case DisplayStatus.IS_MONITOR:
00589            newMenu.add(panelDisplayMenu);
00590            newMenu.add(panelTestMenu);
00591            newMenu.addSeparator();
00592            JMenuItem rItem = new JMenuItem("Retrieve Archived Data");
00593            rItem.setFont(menuFont);
00594            newMenu.add(rItem);
00595            rItem.addActionListener(new java.awt.event.ActionListener() {
00596             public void actionPerformed(java.awt.event.ActionEvent evt) {
00597                ArchiveQueryBox b = new ArchiveQueryBox(guiControl);
00598                b.setLocationRelativeTo(guiControl);
00599                b.setVisible(true);
00600             }
00601            });
00602 
00603 //           pMenu = testMenu.getPopupMenu();
00604            pMenu = newMenu.getPopupMenu();
00605            pMenu.show(e.getComponent(),e.getX(),e.getY());
00606 //           pMenu.setInvoker(testMenu);
00607            pMenu.setInvoker(newMenu);
00608            break;  
00609         case DisplayStatus.TEST_DATA:
00610            newMenu.add(panelDisplayMenu);
00611            newMenu.add(panelTestMenu);
00612            newMenu.add(panelTestDataOptionMenu);
00613            pMenu = newMenu.getPopupMenu();
00614            pMenu.show(e.getComponent(),e.getX(),e.getY());
00615            pMenu.setInvoker(newMenu);
00616            break;
00617         case DisplayStatus.SCTDB_DATA:
00618            newMenu.add(panelDisplayMenu);
00619            newMenu.add(panelsctdbSCTDAQOptionMenu);
00620            pMenu = newMenu.getPopupMenu();
00621            pMenu.show(e.getComponent(),e.getX(),e.getY());
00622            pMenu.setInvoker(newMenu);
00623            break;
00624         case DisplayStatus.SCTDB_RODDAQ_DATA:
00625            newMenu.add(panelDisplayMenu);
00626            newMenu.add(panelsctdbRODDAQOptionMenu);
00627            pMenu = newMenu.getPopupMenu();
00628            pMenu.show(e.getComponent(),e.getX(),e.getY());
00629            pMenu.setInvoker(newMenu);
00630            break;
00631         case DisplayStatus.DCS_DATA:
00632            newMenu.add(panelDisplayMenu);
00633            newMenu.add(panelTestMenu);
00634            pMenu = newMenu.getPopupMenu();
00635            pMenu.show(e.getComponent(),e.getX(),e.getY());
00636            pMenu.setInvoker(newMenu);
00637            break;
00638         case DisplayStatus.IV_DATA:
00639            newMenu.add(panelDisplayMenu);
00640            newMenu.add(ivScanOptionMenu);
00641            pMenu = newMenu.getPopupMenu();
00642            pMenu.show(e.getComponent(),e.getX(),e.getY());
00643            pMenu.setInvoker(newMenu);
00644            break;
00645   
00646         default:
00647            }
00648         }
00649 //**************************************************
00650    private JMenu getTestDataOptionMenu() {
00651        JMenu thisMenu = new JMenu("Test Results");
00652        thisMenu.setFont(menuFont);
00653        testDataOptions[0] = new JMenuItem("ROD Data");
00654        testDataOptions[0].setFont(menuFont);
00655        testDataOptions[0].addActionListener(new java.awt.event.ActionListener() {
00656                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00657                     guiControl.displayPane.setDisplayOption(0);                   
00658                      }
00659              });
00660        testDataOptions[1] = new JMenuItem("SCTDAQ Reference Data");
00661        testDataOptions[1].setFont(menuFont);
00662        testDataOptions[1].addActionListener(new java.awt.event.ActionListener() {
00663                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00664                     guiControl.displayPane.setDisplayOption(1);                   
00665                      }
00666              });
00667 
00668        testDataOptions[2] = new JMenuItem("Comparison ROD-SCTDAQ");
00669        testDataOptions[2].setFont(menuFont);
00670        testDataOptions[2].addActionListener(new java.awt.event.ActionListener() {
00671                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00672                     guiControl.displayPane.setDisplayOption(2);                   
00673                      }
00674              });
00675        thisMenu.add(testDataOptions[0]);
00676        thisMenu.add(testDataOptions[1]);
00677        thisMenu.add(testDataOptions[2]);
00678 
00679        JMenuItem item = new JMenuItem("Upload to SCT Database");
00680        item.setFont(menuFont);
00681        item.addActionListener(new java.awt.event.ActionListener() {
00682                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00683                     TestSelection t = guiControl.tablesDisplayPane.getTestSelection();
00684                     if(t==null) {
00685                       javax.swing.JOptionPane.showMessageDialog(null,"There is no Data to upload!");
00686                       return;
00687                       }
00688                     int response = JOptionPane.showConfirmDialog(null,"Are you sure want to upload the data for Run/Scan "+t.getRunNo()+"/"+t.getScanNo()+"?");
00689                     if(response!=javax.swing.JOptionPane.YES_OPTION) return;
00690                     UploadManager upload = new UploadManager(guiControl);                   
00691                      }
00692              });
00693        thisMenu.addSeparator();
00694        thisMenu.add(item);
00695       
00696        return thisMenu;
00697        }
00698 //**************************************************************************
00699     private JMenu getDisplayOptionMenu() {
00700        JMenu thisMenu = new JMenu("Display");
00701        thisMenu.setFont(menuFont);
00702 
00703        JMenuItem item = new JMenuItem("Clear Result Cache");
00704        item.setFont(menuFont);
00705        item.addActionListener(new java.awt.event.ActionListener() {
00706                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00707                     System.out.println("SctGUI: Clearing cache (was "+guiControl.isInterface.cache.size()+" objects deep)");
00708                     guiControl.isInterface.cache.clear();
00709                  }
00710              });
00711        thisMenu.add(item);
00712 
00713        item = new JMenuItem("Reset all Color Scales");
00714        item.setFont(menuFont);
00715        item.addActionListener(new java.awt.event.ActionListener() {
00716                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00717                    int response = javax.swing.JOptionPane.showConfirmDialog(null,"This will permanently reset all color scales to their defaults. Continue?","Confirm",javax.swing.JOptionPane.YES_NO_OPTION,javax.swing.JOptionPane.INFORMATION_MESSAGE);
00718                    if(response==javax.swing.JOptionPane.YES_OPTION) {
00719                       ColorScaleManager.getInstance().clearAll();
00720                       guiControl.colorScalePane.setColorScale();
00721                       guiControl.displayPane.setDisplayColors();
00722                       guiControl.displayPane.refreshDisplay();
00723                       }
00724                         
00725                  }
00726              });
00727        thisMenu.add(item);
00728 
00729        autoSelectMode.setFont(menuFont);
00730        autoSelectMode.setSelected(PreferencesInterface.getInstance().getPreference(PreferencesInterface.AUTO_TEST_SELECT).equals("TRUE"));
00731        thisMenu.add(autoSelectMode);
00732        autoSelectMode.addActionListener(new java.awt.event.ActionListener() {
00733                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00734                     String status = autoSelectMode.isSelected() ? "TRUE" : "FALSE";
00735                     PreferencesInterface.getInstance().setPreference(PreferencesInterface.AUTO_TEST_SELECT,status);                        
00736                  }
00737              });
00738 
00739        return thisMenu;
00740        }
00741 //**************************************************************************
00742     private JMenu getTableDataOptionMenu() {
00743        JMenu thisMenu = new JMenu("Data Manager");
00744        thisMenu.setFont(menuFont);
00745 
00746        JMenuItem item = new JMenuItem("Plot Selected Data");
00747        item.setFont(menuFont);
00748        item.addActionListener(new java.awt.event.ActionListener() {
00749                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00750                     switch(guiControl.displayStatus.getStatus()) {
00751                        case DisplayStatus.IS_MONITOR:
00752                           String objectname;
00753                           if((objectname = guiControl.tablesDisplayPane.getSelectedObject())!=null) guiControl.isInterface.launchExternalViewer(objectname);
00754                           else javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
00755                         break;
00756                     default:
00757                      }                                   
00758                  }
00759              });
00760        thisMenu.add(item);
00761 
00762        item = new JMenuItem("Delete Selected Test(s)");
00763        item.setFont(menuFont);
00764        item.addActionListener(new java.awt.event.ActionListener() {
00765                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00766                     switch(guiControl.displayStatus.getStatus()) {
00767                        case DisplayStatus.IS_MONITOR:
00768                          TestSelection testSelection = guiControl.tablesDisplayPane.getTestSelection();
00769                          if(testSelection==null) {
00770                              javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
00771                              return;
00772                              } 
00773                          int selectedRow = guiControl.tablesDisplayPane.getSelectedTest();
00774                          int response = JOptionPane.showConfirmDialog(null,"Delete "+testSelection.getTestName()+" test for Run/Scan "+testSelection.getRunNo()+"/"+testSelection.getScanNo()+"?","Confirm Deletion",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
00775                          if(response==JOptionPane.NO_OPTION) return;
00776                          guiControl.isInterface.removeTests(guiControl.tablesDisplayPane.getTestControlObjectNames(),selectedRow,selectedRow); 
00777                          guiControl.tablesDisplayPane.updateTables();
00778                          break;
00779                        default:
00780                      }                                   
00781                  }
00782              });
00783        thisMenu.add(item);
00784 
00785 
00786        item = new JMenuItem("View Selected IS Object");
00787        item.setFont(menuFont);
00788        item.addActionListener(new java.awt.event.ActionListener() {
00789                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00790                     switch(guiControl.displayStatus.getStatus()) {
00791                        case DisplayStatus.IS_MONITOR:
00792                           String objectname;
00793                           if((objectname = guiControl.tablesDisplayPane.getSelectedObject())!=null) guiControl.isInterface.viewISData(objectname);
00794                           else javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
00795                         break;
00796                     default:
00797                      }                                   
00798                  }
00799              });
00800 
00801        thisMenu.add(item);
00802 
00803        item = new JMenuItem("View Selected Module Configuration");
00804        item.setFont(menuFont);
00805        item.addActionListener(new java.awt.event.ActionListener() {
00806              public void actionPerformed(java.awt.event.ActionEvent evt) {
00807                String sn = guiControl.tablesDisplayPane.getSelectedSerialNo();
00808                if(sn==null) return;
00809                   JFrame frame2 = new JFrame("Module Configuration");                                
00810                   frame2.getContentPane().add(new GuiComponents.Panels.ModuleConfigurationPanel(sn));
00811                   frame2.pack();
00812                   frame2.show();
00813                      }
00814 
00815           });  
00816        thisMenu.add(item);
00817 
00818        item = new JMenuItem("Retrieve Archived Data");
00819        item.setFont(menuFont);
00820        item.addActionListener(new java.awt.event.ActionListener() {
00821             public void actionPerformed(java.awt.event.ActionEvent evt) {
00822                ArchiveQueryBox b = new ArchiveQueryBox(guiControl);
00823                b.setLocationRelativeTo(guiControl);
00824                b.setVisible(true);
00825             }
00826            });
00827        thisMenu.add(item);
00828 
00829        return thisMenu;
00830        }
00831 //**************************************************************************
00832     private JMenu getTable0Menu() {
00833        JMenu thisMenu = new JMenu("Data Manager - table0");
00834 
00835        thisMenu.setFont(menuFont);
00836 
00837        JMenuItem item = new JMenuItem("Delete Selected Test(s)");
00838        item.setFont(menuFont);
00839        item.addActionListener(new java.awt.event.ActionListener() {
00840                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00841                     switch(guiControl.displayStatus.getStatus()) {
00842                        case DisplayStatus.IS_MONITOR:
00843                          TestSelection testSelection = guiControl.tablesDisplayPane.getTestSelection();
00844                          if(testSelection==null) {
00845                              javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
00846                              return;
00847                              }
00848                          int selectedRow = guiControl.tablesDisplayPane.getSelectedTest();
00849                          int response = JOptionPane.showConfirmDialog(null,"Delete "+testSelection.getTestName()+" test for Run/Scan "+testSelection.getRunNo()+"/"+testSelection.getScanNo()+"?","Confirm Deletion",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
00850                          if(response==JOptionPane.NO_OPTION) return;
00851                          guiControl.isInterface.removeTests(guiControl.tablesDisplayPane.getTestControlObjectNames(),selectedRow,selectedRow); 
00852                          guiControl.tablesDisplayPane.updateTables();
00853                          break;
00854                        default:
00855                      }                                   
00856                  }
00857              });
00858        thisMenu.add(item);
00859 
00860 
00861 
00862        return thisMenu;
00863        }
00864     private JMenu getDCSOptionMenu() {
00865        JMenu thisMenu = new JMenu("DCS");
00866 
00867        thisMenu.setFont(menuFont);
00868 
00869        JMenuItem item = new JMenuItem("IS Server Name...");
00870        item.setFont(menuFont);
00871        thisMenu.add(item);
00872        item.addActionListener(new java.awt.event.ActionListener() {
00873              public void actionPerformed(java.awt.event.ActionEvent evt) {
00874                    Preference preference = new Preference(guiControl,PreferencesInterface.DCS_SERVER_NAME);                      
00875                    }
00876               });
00877        item = new JMenuItem("IV Scan Data Directory...");
00878        item.setFont(menuFont);
00879        thisMenu.add(item);
00880        item.addActionListener(new java.awt.event.ActionListener() {
00881              public void actionPerformed(java.awt.event.ActionEvent evt) {
00882                    Preference preference = new Preference(guiControl,PreferencesInterface.IV_DIRECTORY);                      
00883                    }
00884               });
00885        thisMenu.addSeparator();
00886 
00887        item = new JMenuItem("Import IV Scans...");
00888        item.setFont(menuFont);
00889        thisMenu.add(item);
00890        item.addActionListener(new java.awt.event.ActionListener() {
00891              public void actionPerformed(java.awt.event.ActionEvent evt) {
00892                    new IVScanLister(guiControl.displayPane.getSCTView()).show();                     
00893                    }
00894               });
00895        item = new JMenuItem("Plot Selected IVScans");
00896        item.setFont(menuFont);
00897        thisMenu.add(item);
00898        item.addActionListener(new java.awt.event.ActionListener() {
00899              public void actionPerformed(java.awt.event.ActionEvent evt) {
00900                    plotIVScanData(null);                     
00901                    }
00902               });
00903        item = new JMenuItem("Upload Selected IVScans to SCT Database");
00904        item.setFont(menuFont);
00905        thisMenu.add(item);
00906        item.addActionListener(new java.awt.event.ActionListener() {
00907              public void actionPerformed(java.awt.event.ActionEvent evt) {
00908                     IVTestSelection i = guiControl.tablesDisplayPane.getIVTestSelection();
00909                     if(i==null) {
00910                       javax.swing.JOptionPane.showMessageDialog(null,"There is no IV scan Data to upload!");
00911                       return;
00912                       }
00913                     int response = JOptionPane.showConfirmDialog(null,"Are you sure want to upload the IV scans for Run/Scan "+i.getRunNo()+"/"+i.getScanNo()+"?");
00914                     if(response!=javax.swing.JOptionPane.YES_OPTION) return;
00915                     UploadManager upload = new UploadManager(guiControl);                      
00916                    }
00917               });
00918 
00919        return thisMenu;
00920        }
00921 
00922     private JMenu getIVScanOptionMenu() {
00923        JMenu thisMenu = new JMenu("IV scans");
00924 
00925        thisMenu.setFont(menuFont);
00926 
00927 
00928        JMenuItem item = new JMenuItem("Import IV Scans...");
00929        item.setFont(menuFont);
00930        thisMenu.add(item);
00931        item.addActionListener(new java.awt.event.ActionListener() {
00932              public void actionPerformed(java.awt.event.ActionEvent evt) {
00933                    new IVScanLister(guiControl.displayPane.getSCTView()).show();                     
00934                    }
00935               });
00936        item = new JMenuItem("Upload to SCT Database");
00937        item.setFont(menuFont);
00938        thisMenu.add(item);
00939        item.addActionListener(new java.awt.event.ActionListener() {
00940              public void actionPerformed(java.awt.event.ActionEvent evt) {
00941                     IVTestSelection i = guiControl.tablesDisplayPane.getIVTestSelection();
00942                     if(i==null) {
00943                       javax.swing.JOptionPane.showMessageDialog(null,"There is no IV scan Data to upload!");
00944                       return;
00945                       }
00946                     int response = JOptionPane.showConfirmDialog(null,"Are you sure want to upload the IV scans for Run/Scan "+i.getRunNo()+"/"+i.getScanNo()+"?");
00947                     if(response!=javax.swing.JOptionPane.YES_OPTION) return;
00948                     UploadManager upload = new UploadManager(guiControl);                      
00949                    }
00950               });
00951 
00952        return thisMenu;
00953        }
00954 
00955 //****************************************************************************************
00956     private JMenu getDBSCTDAQDataOptionMenu(boolean isPanel) {
00957        JMenu thisMenu = new JMenu("SCTDAQ Reference");
00958 //       thisMenu.setBackground(backgroundColor);
00959        thisMenu.setFont(menuFont);
00960 //       thisMenu.setForeground(menuColor);
00961        JMenuItem item = new JMenuItem("Download SCTDAQ Reference Data");
00962        item.setFont(menuFont);
00963        thisMenu.add(item);
00964        item.addActionListener(new java.awt.event.ActionListener() {
00965              public void actionPerformed(java.awt.event.ActionEvent evt) {
00966                    guiControl.isInterface.downloadTests(-1);
00967                    }
00968               });
00969        item = new JMenuItem("SCTDAQ Test Location ...");
00970        item.setFont(menuFont);
00971        thisMenu.add(item);
00972        item.addActionListener(new java.awt.event.ActionListener() {
00973              public void actionPerformed(java.awt.event.ActionEvent evt) {
00974                  java.util.Vector listOfLocations = new java.util.Vector();
00975                  try {
00976                       listOfLocations = ProdDatabase.GeneralUtilities.getLocationList();
00977                  }catch(Exception e2){}
00978                  listOfLocations.insertElementAt("Any",0);
00979                  guiUtilities.userPrompt thisPrompt = new guiUtilities.userPrompt(guiControl,"Any","Institute", listOfLocations);
00980                  thisPrompt.pack();
00981                  thisPrompt.setLocationRelativeTo(guiControl);
00982                  thisPrompt.setVisible(true);
00983                  String thisLocation = thisPrompt.getValidatedText();
00984                  if (!thisLocation.equals("None")) {
00985                       guiControl.isInterface.setLocation(thisLocation);
00986 //                      guiControl.isInterface.setTestFilter(guiControl.tablesDisplayPane.getTestControlObjectName());
00987                       guiControl.selectorPane.initParamList(); // maybe require change of parameter menu
00988                       guiControl.colorScalePane.setColorScale(); // ditto for color scale
00989                       guiControl.displayPane.setDisplayColors();
00990                       guiControl.displayPane.refreshDisplay();
00991                       guiControl.tablesDisplayPane.listTestResults();
00992                       }
00993                    
00994                    }
00995               });
00996        if(!isPanel) {
00997          sctdbAutoDownload.setFont(menuFont);
00998          thisMenu.add(sctdbAutoDownload);
00999          }
01000        return thisMenu;
01001        }
01002 //****************************************************************************************
01003     private JMenu getDBRODDAQDataOptionMenu(boolean isPanel) {
01004        JMenu thisMenu = new JMenu("SctRodDaq Downloads");
01005 //       thisMenu.setBackground(backgroundColor);
01006        thisMenu.setFont(menuFont);
01007 //       thisMenu.setForeground(menuColor);
01008 
01009        JMenuItem item = new JMenuItem("Download SctRodDaq Data ...");
01010        item.setFont(menuFont);
01011        thisMenu.add(item);
01012        item.addActionListener(new java.awt.event.ActionListener() {
01013              public void actionPerformed(java.awt.event.ActionEvent evt) {
01014                    new DatabaseLister().show();                   
01015                    }
01016               });
01017 
01018        if(!isPanel) {
01019          sctdbAutoUpload.setFont(menuFont);
01020          thisMenu.add(sctdbAutoUpload);
01021          }
01022        return thisMenu;
01023        }
01024 //*************************************************************************************************8
01025    private JMenu getCCDataOptionMenu() {
01026        JMenu thisMenu = new JMenu("CalibrationController");
01027        thisMenu.setFont(menuFont);
01028        JMenuItem item = new JMenuItem("Ping");
01029        item.setFont(menuFont);
01030        item.addActionListener(new java.awt.event.ActionListener() {
01031              public void actionPerformed(java.awt.event.ActionEvent evt) {
01032                    try { 
01033                       ipc.InfoHolder infoHolder = new ipc.InfoHolder();
01034                       if (si.getCalibrationController() != null)  {
01035                           si.getCalibrationController().get_info(infoHolder);
01036                          ipc.Info info = infoHolder.value;
01037                          System.out.println("CalibrationController running: " + info.pid + " by " + info.owner + " on " +info.host + " since " + info.time);
01038                          } 
01039                        else System.out.println("CalibrationController not running");
01040                        }catch(Exception eNoAbort){System.err.println("Error aborting calibrationController: "+eNoAbort.toString());}
01041                     }
01042               });   
01043        thisMenu.add(item);
01044 
01045        thisMenu.addSeparator();
01046        javax.swing.ButtonGroup thisGroup = new javax.swing.ButtonGroup();
01047        for(int i=0;i<ccUpdateModes.length;i++) {
01048          ccUpdateModes[i] = new JCheckBox(ccUpdateStrings[i]);
01049          thisGroup.add(ccUpdateModes[i]);
01050          ccUpdateModes[i].setFont(menuFont);
01051          thisMenu.add(ccUpdateModes[i]);
01052          }
01053        item = new JMenuItem("Abort");
01054        item.setFont(menuFont);
01055        item.addActionListener(new java.awt.event.ActionListener() {
01056              public void actionPerformed(java.awt.event.ActionEvent evt) {
01057                    try { 
01058 //                       System.out.println("abort of CC not yet implemented");
01059                        si.getCalibrationController().abort();
01060                        }catch(Exception eNoAbort){System.err.println("Error aborting calibrationController: "+eNoAbort.toString());}
01061                     }
01062               });    
01063        thisMenu.addSeparator();
01064        thisMenu.add(item);   
01065                        
01066 
01067        ccUpdateModes[0].setSelected(true);
01068        for(int i=0;i<ccUpdateModes.length;i++) {  
01069            // ccUpdateModes[i].setEnabled(false);   
01070          switch(i) {
01071             case 0:
01072             ccUpdateModes[i].addActionListener(new java.awt.event.ActionListener() {
01073              public void actionPerformed(java.awt.event.ActionEvent evt) {
01074                    try {
01075                        si.getCalibrationController().setUpdateOption(UpdateOption.update);
01076                        checkCCUpdateMode();
01077                    }catch(Exception e){System.err.println("Error : "+e.toString());}
01078                    }
01079               });
01080             break;
01081             case 1:
01082             ccUpdateModes[i].addActionListener(new java.awt.event.ActionListener() {
01083              public void actionPerformed(java.awt.event.ActionEvent evt) {
01084                    try {
01085                        si.getCalibrationController().setUpdateOption(UpdateOption.noupdate);
01086                        checkCCUpdateMode();
01087                    }catch(Exception e){System.err.println("Error : "+e.toString());}
01088                    }
01089               });
01090             break;
01091             case 2:
01092             ccUpdateModes[i].addActionListener(new java.awt.event.ActionListener() {
01093              public void actionPerformed(java.awt.event.ActionEvent evt) {
01094                    try {
01095                        si.getCalibrationController().setUpdateOption(UpdateOption._wait);
01096                        checkCCUpdateMode();
01097                    }catch(Exception e){System.err.println("Error : "+e.toString());}
01098                    }
01099               });
01100             break;
01101             default:
01102             }
01103         }
01104       return thisMenu;
01105       }
01106 //************************************************************************************
01107    public void checkCCUpdateMode() {
01108          if(guiControl.calibrationControllerPanel==null || guiControl.calibrationControllerPanel.status==null) {   // why is this necessary????
01109              System.out.println("CalibrationControllerPanel.status object not yet available... update mode not yet known");
01110              return;
01111              }
01112          String updateMode = guiControl.calibrationControllerPanel.status.updateOption;
01113          if(updateMode.equals("NOUPDATE")) ccUpdateModes[1].setSelected(true);
01114          else if(updateMode.equals("WAIT")) ccUpdateModes[2].setSelected(true);
01115          else   ccUpdateModes[0].setSelected(true);
01116          }
01117 
01118 //*************************************************************************************************8
01119    private JMenu getTestFilterMenu() {
01120        JMenu thisMenu = new JMenu("Test Filter");
01121        thisMenu.setFont(menuFont);
01122        javax.swing.ButtonGroup thisGroup = new javax.swing.ButtonGroup();
01123        testFilterButtons[0] = new JCheckBox("All tests");
01124        thisGroup.add(testFilterButtons[0]);
01125        testFilterButtons[0].setFont(menuFont);
01126        testFilterButtons[0].addActionListener(new java.awt.event.ActionListener() {
01127              public void actionPerformed(java.awt.event.ActionEvent evt) {
01128                    switch(guiControl.displayStatus.getStatus()) {
01129                    case DisplayStatus.TEST_DATA:
01130                      guiControl.displayStatus.setTestDataMode(-1);      
01131                      break;
01132                    case DisplayStatus.SCTDB_DATA:
01133                     guiControl.displayStatus.setSCTDBDataMode(-1); 
01134                      break;
01135                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01136                     guiControl.displayStatus.setSCTDBRodDaqMode(-1); 
01137                      break;
01138                    default:
01139                    }           
01140                  }
01141               });
01142         thisMenu.add(testFilterButtons[0]);
01143        for(int i=1;i<testFilterButtons.length;i++) {
01144          if(!testIsDefined[i-1]) continue;
01145          testFilterButtons[i] = new JCheckBox(testNames[i-1]);
01146          thisGroup.add(testFilterButtons[i]);
01147          testFilterButtons[i].setFont(menuFont);
01148          thisMenu.add(testFilterButtons[i]);
01149          }
01150        testFilterButtons[0].setSelected(true);
01151 
01152        for(int i=1;i<testFilterButtons.length;i++) {  
01153          if(!testIsDefined[i-1]) continue;
01154          switch(i-1) { 
01155           case TEST_FULLBYPASS:
01156              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01157                public void actionPerformed(java.awt.event.ActionEvent evt) {
01158                    switch(guiControl.displayStatus.getStatus()) {
01159                    case DisplayStatus.TEST_DATA:
01160                      guiControl.displayStatus.setTestDataMode(TEST_FULLBYPASS);      
01161                      break;
01162                    case DisplayStatus.SCTDB_DATA:
01163                     guiControl.displayStatus.setSCTDBDataMode(TEST_FULLBYPASS); 
01164                      break;
01165                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01166                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_FULLBYPASS); 
01167                      break;
01168                    default:
01169                    }           
01170                    }
01171               });
01172             break;
01173           case TEST_PIPELINE:
01174              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01175                public void actionPerformed(java.awt.event.ActionEvent evt) {
01176                    switch(guiControl.displayStatus.getStatus()) {
01177                    case DisplayStatus.TEST_DATA:
01178                      guiControl.displayStatus.setTestDataMode(TEST_PIPELINE);      
01179                      break;
01180                    case DisplayStatus.SCTDB_DATA:
01181                     guiControl.displayStatus.setSCTDBDataMode(TEST_PIPELINE); 
01182                      break;
01183                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01184                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_PIPELINE); 
01185                      break;
01186                    default:
01187                    }           
01188                    }
01189               });
01190             break;
01191           case TEST_STROBEDELAY:
01192              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01193                public void actionPerformed(java.awt.event.ActionEvent evt) {
01194                    switch(guiControl.displayStatus.getStatus()) {
01195                    case DisplayStatus.TEST_DATA:
01196                      guiControl.displayStatus.setTestDataMode(TEST_STROBEDELAY);      
01197                      break;
01198                    case DisplayStatus.SCTDB_DATA:
01199                     guiControl.displayStatus.setSCTDBDataMode(TEST_STROBEDELAY); 
01200                      break;
01201                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01202                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_STROBEDELAY); 
01203                      break;
01204                    default:
01205                    }           
01206                    }
01207               });
01208             break;
01209           case TEST_3PTGAIN:
01210              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01211                public void actionPerformed(java.awt.event.ActionEvent evt) {
01212                    switch(guiControl.displayStatus.getStatus()) {
01213                    case DisplayStatus.TEST_DATA:
01214                      guiControl.displayStatus.setTestDataMode(TEST_3PTGAIN);      
01215                      break;
01216                    case DisplayStatus.SCTDB_DATA:
01217                     guiControl.displayStatus.setSCTDBDataMode(TEST_3PTGAIN); 
01218                      break;
01219                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01220                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_3PTGAIN); 
01221                      break;
01222                    default:
01223                    }           
01224                    }
01225               });
01226             break;
01227           case TEST_TRIM:
01228              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01229                public void actionPerformed(java.awt.event.ActionEvent evt) {
01230                    switch(guiControl.displayStatus.getStatus()) {
01231                    case DisplayStatus.TEST_DATA:
01232                      guiControl.displayStatus.setTestDataMode(TEST_TRIM);      
01233                      break;
01234                    case DisplayStatus.SCTDB_DATA:
01235                     guiControl.displayStatus.setSCTDBDataMode(TEST_TRIM); 
01236                      break;
01237                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01238                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_TRIM); 
01239                      break;
01240                    default:
01241                    }           
01242                    }
01243               });
01244             break;
01245           case TEST_NPTGAIN:
01246              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01247                public void actionPerformed(java.awt.event.ActionEvent evt) {
01248                    switch(guiControl.displayStatus.getStatus()) {
01249                    case DisplayStatus.TEST_DATA:
01250                      guiControl.displayStatus.setTestDataMode(TEST_NPTGAIN);      
01251                      break;
01252                    case DisplayStatus.SCTDB_DATA:
01253                     guiControl.displayStatus.setSCTDBDataMode(TEST_NPTGAIN); 
01254                      break;
01255                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01256                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_NPTGAIN); 
01257                      break;
01258                    default:
01259                    }           
01260                    }
01261               });
01262             break;
01263           case TEST_NOISE:
01264              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01265                public void actionPerformed(java.awt.event.ActionEvent evt) {
01266                    switch(guiControl.displayStatus.getStatus()) {
01267                    case DisplayStatus.TEST_DATA:
01268                      guiControl.displayStatus.setTestDataMode(TEST_NOISE);      
01269                      break;
01270                    case DisplayStatus.SCTDB_DATA:
01271                     guiControl.displayStatus.setSCTDBDataMode(TEST_NOISE); 
01272                      break;
01273                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01274                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_NOISE); 
01275                      break;
01276                    default:
01277                    }           
01278                    }
01279               });
01280             break;
01281           case TEST_TIMEWALK:
01282              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01283                public void actionPerformed(java.awt.event.ActionEvent evt) {
01284                    switch(guiControl.displayStatus.getStatus()) {
01285                    case DisplayStatus.TEST_DATA:
01286                      guiControl.displayStatus.setTestDataMode(TEST_TIMEWALK);      
01287                      break;
01288                    case DisplayStatus.SCTDB_DATA:
01289                     guiControl.displayStatus.setSCTDBDataMode(TEST_TIMEWALK); 
01290                      break;
01291                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01292                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_TIMEWALK); 
01293                      break;
01294                    default:
01295                    }           
01296                    }
01297               });
01298             break;
01299           case TEST_NMASK:
01300              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01301                public void actionPerformed(java.awt.event.ActionEvent evt) {
01302                    switch(guiControl.displayStatus.getStatus()) {
01303                    case DisplayStatus.TEST_DATA:
01304                      guiControl.displayStatus.setTestDataMode(TEST_NMASK);      
01305                      break;
01306                    case DisplayStatus.SCTDB_DATA:
01307                     guiControl.displayStatus.setSCTDBDataMode(TEST_NMASK); 
01308                      break;
01309                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01310                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_NMASK); 
01311                      break;
01312                    default:
01313                    }           
01314                    }
01315               });
01316             break;
01317              case TEST_RXTHRESHOLD:
01318              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01319                public void actionPerformed(java.awt.event.ActionEvent evt) {
01320                    switch(guiControl.displayStatus.getStatus()) {
01321                    case DisplayStatus.TEST_DATA:
01322                      guiControl.displayStatus.setTestDataMode(TEST_RXTHRESHOLD);      
01323                      break;
01324                    case DisplayStatus.SCTDB_DATA:
01325                     guiControl.displayStatus.setSCTDBDataMode(TEST_RXTHRESHOLD); 
01326                      break;
01327                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01328                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_RXTHRESHOLD); 
01329                      break;
01330                    default:
01331                    }           
01332                    }
01333               });
01334             break;
01335              case TEST_RXDELAY:
01336              testFilterButtons[i].addActionListener(new java.awt.event.ActionListener() {
01337                public void actionPerformed(java.awt.event.ActionEvent evt) {
01338                    switch(guiControl.displayStatus.getStatus()) {
01339                    case DisplayStatus.TEST_DATA:
01340                      guiControl.displayStatus.setTestDataMode(TEST_RXDELAY);      
01341                      break;
01342                    case DisplayStatus.SCTDB_DATA:
01343                     guiControl.displayStatus.setSCTDBDataMode(TEST_RXDELAY); 
01344                      break;
01345                    case DisplayStatus.SCTDB_RODDAQ_DATA:
01346                      guiControl.displayStatus.setSCTDBRodDaqMode(TEST_RXDELAY); 
01347                      break;
01348                    default:
01349                    }           
01350                    }
01351               });
01352             break;
01353             default:
01354             }
01355           }
01356       return thisMenu;
01357       }
01358 
01359    public void resetTestListFilter() {
01360       testFilterButtons[0].setSelected(true);
01361       }
01362 
01363    private JMenu getTestInvokeMenu() {
01364        JMenu thisMenu = new JMenu("Tests");
01365        JMenuItem menuItem;
01366 
01367        //===========================================================================================
01368 
01369        JMenu bocTestsMenu = new JMenu("Boc Setup");
01370        bocTestsMenu.setFont(menuFont);
01371        menuItem = new JMenuItem("Raw Scan");
01372        menuItem.setFont(menuFont);
01373        menuItem.addActionListener(new java.awt.event.ActionListener() {
01374                public void actionPerformed(java.awt.event.ActionEvent evt) {
01375                    si.getCalibrationController().doScan(si.getCalibrationController().getScanLibrary().rawScan(10));
01376                }
01377            });
01378 
01379        bocTestsMenu.add(menuItem);
01380 
01381        menuItem = new JMenuItem("RX Threshold");
01382        menuItem.setFont(menuFont);
01383        menuItem.addActionListener(new java.awt.event.ActionListener() {
01384                public void actionPerformed(java.awt.event.ActionEvent evt) {
01385                    //Sct_CalibrationController.ScanRequest request = si.getCalibrationController().getScanLibrary().rawScan(10);
01386                    //request.getScan().configure((short)50, 0., 200., 5.);
01387                    //si.getCalibrationController().doScan( request );
01388                    si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().rxThreshold()  );
01389                }
01390            });
01391        bocTestsMenu.add(menuItem);
01392 
01393        menuItem = new JMenuItem("RX Delay");
01394        menuItem.setFont(menuFont);
01395        menuItem.addActionListener(new java.awt.event.ActionListener() {
01396                public void actionPerformed(java.awt.event.ActionEvent evt) {
01397                    //Sct_CalibrationController.ScanRequest request = si.getCalibrationController().getScanLibrary().rawScan(10);
01398                    //request.getScan().configure((short)20, 0., 24., 1.);
01399                    //si.getCalibrationController().doScan( request );
01400                    si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().rxDelay()  );
01401                }
01402            });
01403        bocTestsMenu.add(menuItem);
01404 
01405        menuItem = new JMenuItem("TX Current");
01406        menuItem.setFont(menuFont);
01407        menuItem.addActionListener(new java.awt.event.ActionListener() {
01408                public void actionPerformed(java.awt.event.ActionEvent evt) {
01409                    Sct_CalibrationController.ScanRequest request = si.getCalibrationController().getScanLibrary().rawScan(10);
01410                    request.getScan().configure((short)53, 60., 200., 10.);
01411                    si.getCalibrationController().doScan( request );
01412                }
01413            });
01414        bocTestsMenu.add(menuItem);
01415 
01416        thisMenu.add(bocTestsMenu);
01417 
01418        //==========================================================================================
01419 
01420        JMenu digitalTestsMenu = new JMenu("Digital Tests");
01421        digitalTestsMenu.setFont(menuFont);
01422 
01423        menuItem = new JMenuItem("NMask");
01424        menuItem.setFont(menuFont);
01425 
01426        menuItem.addActionListener(new java.awt.event.ActionListener() {
01427                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01428 //                    guiControl.displayStatus.setTestDataMode(-1); 
01429                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().nmask());               
01430                      }
01431              });
01432 
01433 
01434        digitalTestsMenu.add(menuItem);
01435 
01436        menuItem = new JMenuItem("Pipeline");
01437        menuItem.setFont(menuFont);
01438        menuItem.addActionListener(new java.awt.event.ActionListener() {
01439                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01440  //                    guiControl.displayStatus.setTestDataMode(-1); 
01441                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().pipeline());           
01442                      }
01443              });
01444 
01445        digitalTestsMenu.add(menuItem);
01446 
01447        menuItem = new JMenuItem("FullByPass (Barrel)");
01448        menuItem.setFont(menuFont);
01449        menuItem.addActionListener(new java.awt.event.ActionListener() {
01450                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01451  //                    guiControl.displayStatus.setTestDataMode(-1); 
01452                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().fullBypassBarrel() );          
01453                      }
01454              });
01455 
01456        digitalTestsMenu.add(menuItem);
01457 
01458        menuItem = new JMenuItem("FullByPass (Endcap)");
01459        menuItem.setFont(menuFont); 
01460        menuItem.addActionListener(new java.awt.event.ActionListener() {
01461                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01462  //                    guiControl.displayStatus.setTestDataMode(-1); 
01463                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().fullBypassEndcap() );
01464                      }
01465              });
01466 
01467        digitalTestsMenu.add(menuItem);
01468 
01469        thisMenu.add(digitalTestsMenu);
01470 
01471 
01472        //===========================================================================================
01473 
01474        JMenu analogueTestsMenu = new JMenu("Analogue Tests");
01475        analogueTestsMenu.setFont(menuFont);
01476 
01477 
01478        menuItem = new JMenuItem("Strobe Delay");
01479        menuItem.setFont(menuFont);
01480        menuItem.addActionListener(new java.awt.event.ActionListener() {
01481                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01482  //                    guiControl.displayStatus.setTestDataMode(-1); 
01483                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().strobeDelay());         
01484                      }
01485              });
01486 
01487        analogueTestsMenu.add(menuItem);
01488 
01489        menuItem = new JMenuItem("3PtGain");
01490        menuItem.setFont(menuFont);
01491        menuItem.addActionListener(new java.awt.event.ActionListener() {
01492                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01493  //                    guiControl.displayStatus.setTestDataMode(-1); 
01494                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().threePointGain());        
01495                      }
01496              });
01497 
01498        analogueTestsMenu.add(menuItem);
01499 
01500        menuItem = new JMenuItem("Trim");
01501        menuItem.setFont(menuFont);
01502        menuItem.addActionListener(new java.awt.event.ActionListener() {
01503                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01504  //                    guiControl.displayStatus.setTestDataMode(-1); 
01505                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().trimRange() );       
01506                      }
01507              });
01508 
01509        analogueTestsMenu.add(menuItem);
01510 
01511        menuItem = new JMenuItem("ResponseCurve");
01512        menuItem.setFont(menuFont);
01513        menuItem.addActionListener(new java.awt.event.ActionListener() {
01514                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01515  //                    guiControl.displayStatus.setTestDataMode(-1); 
01516                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().responseCurve());      
01517                      }
01518              });
01519 
01520        analogueTestsMenu.add(menuItem);
01521 
01522        menuItem = new JMenuItem("Noise Occupancy");
01523        menuItem.setFont(menuFont);
01524        menuItem.addActionListener(new java.awt.event.ActionListener() {
01525                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01526  //                    guiControl.displayStatus.setTestDataMode(-1); 
01527                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().noiseOccupancy() );     
01528                      }
01529              });
01530 
01531        analogueTestsMenu.add(menuItem);
01532 
01533        menuItem = new JMenuItem("Time Walk");
01534        menuItem.setFont(menuFont);
01535        menuItem.addActionListener(new java.awt.event.ActionListener() {
01536                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01537  //                    guiControl.displayStatus.setTestDataMode(-1); 
01538                      si.getCalibrationController().doTest(si.getCalibrationController().getTestLibrary().timeWalk());   
01539                      }
01540              });
01541 
01542        analogueTestsMenu.add(menuItem);
01543 
01544        thisMenu.add(analogueTestsMenu);
01545 
01546        JMenu sequencesMenu = new JMenu("Sequences");
01547        sequencesMenu.setFont(menuFont);
01548 
01549        menuItem = new JMenuItem("Characterisation");
01550        menuItem.setFont(menuFont);
01551        menuItem.addActionListener(new java.awt.event.ActionListener() {
01552                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01553  //                    guiControl.displayStatus.setTestDataMode(-1); 
01554                      si.getCalibrationController().doSequence(si.getCalibrationController().getSequenceLibrary().characterizationSequence()); 
01555                      }
01556              });
01557        sequencesMenu.add(menuItem);
01558        
01559        thisMenu.add(sequencesMenu);
01560 
01561        thisMenu.addSeparator();
01562        thisMenu.add(getSCTDAQMenu());
01563 
01564        return thisMenu;
01565        }
01566 
01567    public void updateMenuStates() {
01568       switch(guiControl.displayStatus.getStatus()) {
01569          case DisplayStatus.IS_MONITOR:
01570              enableDataManagerItems(true);
01571              break;
01572          default:
01573              enableDataManagerItems(false);
01574          }
01575     }
01576    
01577 
01578 
01579   private void enableDataManagerItems(boolean isEnabled) {
01580              for(int i=0;i<tableDataOptionMenu.getItemCount();i++) tableDataOptionMenu.getItem(i).setEnabled(isEnabled);
01581              }
01582 
01583   private JMenu getSCTDAQMenu() {
01584        JMenu sctdaqmenu = new JMenu("SCTDAQ Exerciser");
01585 
01586        sctdaqmenu.setFont(menuFont);
01587 
01588        menuItem = new JMenuItem("Ping");
01589        menuItem.setFont(menuFont);
01590        menuItem.addActionListener(new java.awt.event.ActionListener() {
01591                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01592                      //There is no ping method atm
01593                      //System.out.println(si.getTestApi().ping(""));
01594                      }
01595              });
01596        sctdaqmenu.add(menuItem);
01597        sctdaqmenu.addSeparator();
01598 
01599 
01600        for(int i=0;i<sctapiItems.length;i++) {
01601          if(!testIsDefined[i] || !testIsSCTDAQ[i]) continue;
01602          sctapiItems[i] = new JMenuItem(testMenuNames[i]);
01603          sctapiItems[i].setFont(menuFont);
01604          sctdaqmenu.add(sctapiItems[i]);
01605          switch(i) {
01606             case TEST_FULLBYPASS:
01607               sctapiItems[i].addActionListener(new java.awt.event.ActionListener() {
01608                 public void actionPerformed(java.awt.event.ActionEvent evt) {
01609                    guiControl.displayStatus.setTestDataMode(-1); 
01610                    try {
01611                        if((si.getTestHighLevelApi())!=null) si.getTestHighLevelApi().fullBypass();
01612                    } catch (SctTestApi.NoDataException nde) {}
01613 //                   System.out.println("Start full bypass test via sct_api_server");   
01614                    if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_FULLBYPASS);
01615                    }
01616               });
01617             case TEST_PIPELINE:
01618               sctapiItems[i].addActionListener(new java.awt.event.ActionListener() {
01619                 public void actionPerformed(java.awt.event.ActionEvent evt) {
01620 //                    guiControl.displayStatus.setTestDataMode(-1);
01621                     try {
01622                         if((si.getTestHighLevelApi())!=null) si.getTestHighLevelApi().pipeline();
01623                     } catch (SctTestApi.NoDataException nde) {}
01624 //                   System.out.println("Start pipeline test via sct_api_server");   
01625                    if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_PIPELINE);
01626                    }
01627               });
01628             break;
01629             case TEST_STROBEDELAY:
01630               sctapiItems[i].addActionListener(new java.awt.event.ActionListener() {
01631                 public void actionPerformed(java.awt.event.ActionEvent evt) {
01632 //                    guiControl.displayStatus.setTestDataMode(-1); 
01633                     try {
01634                         if((si.getTestHighLevelApi())!=null) si.getTestHighLevelApi().strobeDelay();
01635                     } catch (SctTestApi.NoDataException nde) {}
01636 //                    System.out.println("Start strobe delay test via sct_api_server");
01637                     if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_STROBEDELAY);
01638                    }
01639               });
01640              break;
01641             case TEST_3PTGAIN:
01642               sctapiItems[i].addActionListener(new java.awt.event.ActionListener() {
01643                 public void actionPerformed(java.awt.event.ActionEvent evt) {
01644 //                    guiControl.displayStatus.setTestDataMode(-1); 
01645                     try {
01646                         if((si.getTestHighLevelApi())!=null) si.getTestHighLevelApi().threePointGain();
01647                     } catch (SctTestApi.NoDataException nde) {}
01648 //                    System.out.println("Start 3PtGain test via sct_api_server");
01649                     if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_3PTGAIN);
01650                    }
01651               });
01652              break;
01653             case TEST_TRIM:
01654               sctapiItems[i].addActionListener(new java.awt.event.ActionListener() {
01655                 public void actionPerformed(java.awt.event.ActionEvent evt) {
01656 //                    guiControl.displayStatus.setTestDataMode(-1); 
01657                     try {
01658                         if((si.getTestHighLevelApi())!=null) si.getTestHighLevelApi().trim();
01659                     } catch (SctTestApi.NoDataException nde) {}
01660                    //System.out.println("Start Trim Range test via sct_api_server");
01661                    if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_TRIM);
01662                    }
01663               });
01664              break;
01665             case TEST_NPTGAIN:
01666               sctapiItems[i].addActionListener(new java.awt.event.ActionListener() {
01667                 public void actionPerformed(java.awt.event.ActionEvent evt) {
01668 //                    guiControl.displayStatus.setTestDataMode(-1); 
01669                     try {
01670                         if((si.getTestHighLevelApi())!=null) si.getTestHighLevelApi().responseCurve();
01671                     } catch (SctTestApi.NoDataException nde) {}
01672                    //System.out.println("Start NPtGain test via sct_api_server");
01673                    if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_NPTGAIN);
01674                    }
01675               });
01676              break;
01677             case TEST_NOISE:
01678               sctapiItems[i].addActionListener(new java.awt.event.ActionListener() {
01679                 public void actionPerformed(java.awt.event.ActionEvent evt) {
01680 //                    guiControl.displayStatus.setTestDataMode(-1); 
01681                     try {
01682                         if((si.getTestHighLevelApi())!=null) si.getTestHighLevelApi().noiseOccupancy();
01683                     } catch (SctTestApi.NoDataException nde) {}
01684                    //System.out.println("Start Noise test via sct_api_server");
01685                    if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_NOISE);
01686                    }
01687               });
01688              break;
01689             case TEST_TIMEWALK:
01690               sctapiItems[i].addActionListener(new java.awt.event.ActionListener() {
01691                 public void actionPerformed(java.awt.event.ActionEvent evt) {
01692 //                    guiControl.displayStatus.setTestDataMode(-1); 
01693                     try {
01694                         if((si.getTestHighLevelApi())!=null) si.getTestHighLevelApi().timeWalk();
01695                     } catch (SctTestApi.NoDataException nde) {}
01696                    //System.out.println("Start TimeWalk test via sct_api_server");
01697                    if(sctdbAutoDownload.isSelected()) guiControl.isInterface.downloadTests(TEST_TIMEWALK);
01698                    }
01699               });
01700              break;
01701              default:
01702              }
01703          }
01704     return sctdaqmenu;
01705     }
01706 
01707 //   public boolean dcsIsEnabled() {
01708 //      return dcsEnabled.isSelected();
01709 //      }
01710 
01711 
01712 
01713    private void getTestDataMenu() {
01714        testDataMenu = new JMenu("Test Data Options");
01715        testDataMenu.setFont(menuFont);
01716        JMenuItem item1 = new JMenuItem("Test Report");
01717        item1.setFont(menuFont);
01718        testDataMenu.add(item1);
01719        item1.addActionListener(new java.awt.event.ActionListener() {
01720              public void actionPerformed(java.awt.event.ActionEvent evt) {
01721 //                System.out.println("Selected "+popupCell.getSerialNo());
01722                    TestSelection testSelection = guiControl.tablesDisplayPane.getTestSelection();
01723                    if(testSelection==null) {
01724                        javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
01725                        return;
01726                        }
01727                    java.util.Map dcsMap = null;
01728                    if(guiControl.tablesDisplayPane.getTestControlObjectName()!=null) dcsMap=guiControl.isInterface.getDCSMap(guiControl.tablesDisplayPane.getTestControlObjectName());
01729                    SummaryReader.DCSInfo dcsInfo = (dcsMap!=null) ? (SummaryReader.DCSInfo) dcsMap.get(getSelectedSerialNo()) : null;
01730                    SummaryReader.Test testResult = (SummaryReader.Test) guiControl.isInterface.getTest(testSelection.getResultObjectHeader(),getSelectedSerialNo(), dcsInfo);              
01731                    if(testResult!=null) SummaryReader.ReaderReportUtilities.showTestReport(getSelectedSerialNo(),testResult);
01732                    else javax.swing.JOptionPane.showMessageDialog(null,"No data for this module");
01733               }
01734           });  
01735        item1 = new JMenuItem("Summary Plots");
01736        item1.setFont(menuFont);
01737        testDataMenu.add(item1);
01738        item1.addActionListener(new java.awt.event.ActionListener() {
01739              public void actionPerformed(java.awt.event.ActionEvent evt) {
01740                   TestSelection testSelection = guiControl.tablesDisplayPane.getTestSelection();
01741                   if(testSelection==null) {
01742                        javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
01743                        return;
01744                        }
01745                   String objectname;
01746                   if((objectname = testSelection.getTestObjectHeader())!=null) {
01747                      guiControl.isInterface.launchExternalViewer(objectname+getSelectedSerialNo());
01748                      }
01749                  }
01750           });  
01751        item1 = new JMenuItem("Module Configuration");
01752        item1.setFont(menuFont);
01753        testDataMenu.add(item1);
01754        item1.addActionListener(new java.awt.event.ActionListener() {
01755              public void actionPerformed(java.awt.event.ActionEvent evt) {
01756             JFrame frame2 = new JFrame("Module Configuration");                    
01757             frame2.getContentPane().add(new GuiComponents.Panels.ModuleConfigurationPanel(getSelectedSerialNo()));
01758             frame2.pack();
01759             frame2.show();
01760                      }
01761 
01762           });  
01763        item1 = new JMenuItem("Dump test result");
01764        item1.setFont(menuFont);
01765        testDataMenu.add(item1);
01766        item1.addActionListener(new java.awt.event.ActionListener() {
01767              public void actionPerformed(java.awt.event.ActionEvent evt) {
01768                      TestSelection testSelection = guiControl.tablesDisplayPane.getTestSelection();
01769                      if(testSelection==null)  {
01770                        javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
01771                        return;
01772                        }
01773                      String resultObject=testSelection.getResultObjectHeader()+getSelectedSerialNo();
01774                      if(!Sct.IS.SctNames.getISRepository().contains(resultObject)) {
01775                            javax.swing.JOptionPane.showMessageDialog(null,"No result for "+getSelectedSerialNo());
01776                            return;
01777                            }
01778                      TestSummaryIS result = new TestSummaryIS(); 
01779                      Sct.IS.SctNames.getISRepository().getValue(resultObject, result); 
01780                      java.util.Vector thisData = new java.util.Vector();
01781                      thisData.addElement(getSelectedSerialNo()+".txt");
01782                      thisData.addElement(result.dataString);
01783                      guiUtilities.RawDataViewer.getInstance().showNewData(thisData,"Result String for "+resultObject);
01784                      }
01785 
01786           });  
01787        item1 = new JMenuItem("Full SCTDB Module Report");
01788        item1.setFont(menuFont);
01789        testDataMenu.add(item1);
01790        item1.addActionListener(new java.awt.event.ActionListener() {
01791              public void actionPerformed(java.awt.event.ActionEvent evt) {
01792              String sn = getSelectedSerialNo();
01793              ProdDatabase.ReportDownloader d = new ProdDatabase.ReportDownloader(guiUtilities.HTMLViewer.MODULESUMMARY,sn,0);
01794              if(d.isOkToStart()) d.start();
01795              }
01796 
01797           });  
01798 
01799        }
01800    private void getIVScanMenu() {
01801        ivScanMenu = new JMenu("IVScan");
01802        ivScanMenu.setFont(menuFont);
01803        JMenuItem item1 = new JMenuItem("Test Report");
01804        item1.setFont(menuFont);
01805        ivScanMenu.add(item1);
01806        item1.addActionListener(new java.awt.event.ActionListener() {
01807              public void actionPerformed(java.awt.event.ActionEvent evt) {
01808 //                System.out.println("Selected "+popupCell.getSerialNo());
01809                    IVTestSelection ivTestSelection = guiControl.tablesDisplayPane.getIVTestSelection();
01810                    if(ivTestSelection==null) {
01811                        javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
01812                        return;
01813                        }
01814                    SummaryReader.Test testResult = (SummaryReader.Test) guiControl.isInterface.getTest(ivTestSelection.getResultObjectHeader(),getSelectedSerialNo(),null);              
01815                    if(testResult!=null) SummaryReader.ReaderReportUtilities.showIVTestReport(getSelectedSerialNo(),testResult);
01816                    else javax.swing.JOptionPane.showMessageDialog(null,"No data for "+getSelectedSerialNo());
01817               }
01818           });  
01819 
01820        item1 = new JMenuItem("Plot IVScan");
01821        item1.setFont(menuFont);
01822        ivScanMenu.add(item1);
01823        item1.addActionListener(new java.awt.event.ActionListener() {
01824              public void actionPerformed(java.awt.event.ActionEvent evt) {
01825                    plotIVScanData(guiControl.tablesDisplayPane.getSelectedSerialNo());
01826               }
01827           });  
01828 
01829        item1 = new JMenuItem("Dump test result");
01830        item1.setFont(menuFont);
01831        ivScanMenu.add(item1);
01832        item1.addActionListener(new java.awt.event.ActionListener() {
01833              public void actionPerformed(java.awt.event.ActionEvent evt) {
01834                      IVTestSelection ivTestSelection = guiControl.tablesDisplayPane.getIVTestSelection();
01835                      if(ivTestSelection==null)  {
01836                        javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
01837                        return;
01838                        }
01839                      String resultObject=ivTestSelection.getResultObjectHeader()+getSelectedSerialNo();
01840                      if(!Sct.IS.SctNames.getISRepository().contains(resultObject)) {
01841                            javax.swing.JOptionPane.showMessageDialog(null,"No data for "+getSelectedSerialNo());
01842                            return;
01843                            }
01844                      TestSummaryIS result = new TestSummaryIS(); 
01845                      Sct.IS.SctNames.getISRepository().getValue(resultObject, result); 
01846                      java.util.Vector thisData = new java.util.Vector();
01847                      thisData.addElement(getSelectedSerialNo()+".txt");
01848                      thisData.addElement(result.dataString);
01849                      guiUtilities.RawDataViewer.getInstance().showNewData(thisData,"Result String for "+resultObject);
01850                      }
01851 
01852           });  
01853        item1 = new JMenuItem("Full SCTDB Module Report");
01854        item1.setFont(menuFont);
01855        ivScanMenu.add(item1);
01856        item1.addActionListener(new java.awt.event.ActionListener() {
01857              public void actionPerformed(java.awt.event.ActionEvent evt) {
01858              String sn = getSelectedSerialNo();
01859              ProdDatabase.ReportDownloader d = new ProdDatabase.ReportDownloader(guiUtilities.HTMLViewer.MODULESUMMARY,sn,0);
01860              if(d.isOkToStart()) d.start();
01861              }
01862 
01863           });  
01864 
01865        }
01866 
01867    private void getSCTDBDataMenu() {
01868        sctdbDataSNMenu = new JMenu("Data Options");
01869        sctdbDataSNMenu.setFont(menuFont);
01870 
01871        JMenuItem item1 = new JMenuItem("Test Report");
01872        item1.setFont(menuFont);
01873        sctdbDataSNMenu.add(item1);
01874        item1.addActionListener(new java.awt.event.ActionListener() {
01875              public void actionPerformed(java.awt.event.ActionEvent evt) {
01876                TestSelection testSelection = guiControl.tablesDisplayPane.getTestSelection();
01877                if(testSelection==null)  {
01878                        javax.swing.JOptionPane.showMessageDialog(null,"No data selected.");
01879                        return;
01880                        }
01881                String resultObject= (testSelection.isSCTDBRodDaqData()) ? testSelection.getSCTDBRodDaqObjectHeader()+getSelectedSerialNo() : testSelection.getSCTDBObjectHeader()+getSelectedSerialNo();
01882                if(!Sct.IS.SctNames.getISRepository().contains(resultObject)) {
01883                   javax.swing.JOptionPane.showMessageDialog(null,"No data for "+getSelectedSerialNo());
01884                   return;
01885                   }
01886                SCTDB_Data result = new SCTDB_Data(); 
01887                Sct.IS.SctNames.getISRepository().getValue(resultObject, result); 
01888                ProdDatabase.ReportDownloader d = new ProdDatabase.ReportDownloader(guiUtilities.HTMLViewer.SCTDAQTESTDATA, result.testNumber, 0);
01889                if(d.isOkToStart()) d.start();
01890              }
01891 
01892           });  
01893        item1 = new JMenuItem("Full Module Report");
01894        item1.setFont(menuFont);
01895        sctdbDataSNMenu.add(item1);
01896        item1.addActionListener(new java.awt.event.ActionListener() {
01897              public void actionPerformed(java.awt.event.ActionEvent evt) {
01898              String sn = getSelectedSerialNo();
01899              ProdDatabase.ReportDownloader d = new ProdDatabase.ReportDownloader(guiUtilities.HTMLViewer.MODULESUMMARY,sn,0);
01900              if(d.isOkToStart()) d.start();
01901              }
01902 
01903           });  
01904 
01905 
01906        }
01907 
01908 //**************************************************************************
01909     private void getTableDataSNMenu() {
01910        dataManagerSNMenu = new JMenu("Data Manager");
01911        dataManagerSNMenu.setFont(menuFont);
01912 
01913        JMenuItem item = new JMenuItem("Plot Selected Data");
01914        item.setFont(menuFont);
01915        item.addActionListener(new java.awt.event.ActionListener() {
01916                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01917                     switch(guiControl.displayStatus.getStatus()) {
01918                        case DisplayStatus.IS_MONITOR:
01919                           String objectname;
01920                           if((objectname = guiControl.tablesDisplayPane.getSelectedObject())!=null) guiControl.isInterface.launchExternalViewer(objectname);
01921                           else javax.swing.JOptionPane.showMessageDialog(null,"No plot data available.");
01922                         break;
01923                     default:
01924                      }                                   
01925                  }
01926              });
01927        dataManagerSNMenu.add(item);
01928 
01929 
01930 
01931        item = new JMenuItem("View Selected IS Object");
01932        item.setFont(menuFont);
01933        item.addActionListener(new java.awt.event.ActionListener() {
01934                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01935                     switch(guiControl.displayStatus.getStatus()) {
01936                        case DisplayStatus.IS_MONITOR:
01937                           String objectname;
01938                           if((objectname = guiControl.tablesDisplayPane.getSelectedObject())!=null) guiControl.isInterface.viewISData(objectname);
01939                           else javax.swing.JOptionPane.showMessageDialog(null,"No data available.");
01940                         break;
01941                     default:
01942                      }                                   
01943                  }
01944              });
01945 
01946        dataManagerSNMenu.add(item);
01947        item = new JMenuItem("View Module Configuration");
01948        item.setFont(menuFont);
01949        item.addActionListener(new java.awt.event.ActionListener() {
01950              public void actionPerformed(java.awt.event.ActionEvent evt) {
01951             JFrame frame2 = new JFrame("Module Configuration");                    
01952             frame2.getContentPane().add(new GuiComponents.Panels.ModuleConfigurationPanel(getSelectedSerialNo()));
01953             frame2.pack();
01954             frame2.show();
01955                      }
01956 
01957           });  
01958        dataManagerSNMenu.add(item);
01959        }
01960 
01961       private JMenu getDisplayMenu() {
01962        JMenu menu = new JMenu("Display");
01963        menu.setBackground(backgroundColor);
01964        menu.setFont(menuFont);
01965        menu.setForeground(menuColor);
01966 
01967        JMenuItem item;
01968        for(int i=1;i<DisplayStatus.statusNames.length;i++) {
01969           item = new JMenuItem(DisplayStatus.statusNames[i]);
01970           item.setFont(menuFont);
01971           switch(i) {
01972              case DisplayStatus.MODULE_GROUP_SELECTION:  // ModuleGroup Selection
01973              item.addActionListener(new java.awt.event.ActionListener() {
01974                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01975                    guiControl.displayStatus.setModuleGroupSelectionMode();  
01976                    updateToolBar(DisplayStatus.MODULE_GROUP_SELECTION);           
01977                      }
01978              });
01979              break;
01980              case DisplayStatus.IS_MONITOR:  // Data Manager
01981              item.addActionListener(new java.awt.event.ActionListener() {
01982                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01983                    guiControl.displayStatus.setISMode(); 
01984                    updateToolBar(DisplayStatus.IS_MONITOR);           
01985                      }
01986              });
01987              break;
01988              case DisplayStatus.TEST_DATA:   // Test Results
01989              item.addActionListener(new java.awt.event.ActionListener() {
01990                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01991                     guiControl.displayStatus.setTestDataMode(-1);   
01992                    updateToolBar(DisplayStatus.TEST_DATA);           
01993                      }
01994              });
01995              break;
01996              case DisplayStatus.SCTDB_DATA:    // SCTDB Data
01997              item.addActionListener(new java.awt.event.ActionListener() {
01998                  public void actionPerformed(java.awt.event.ActionEvent evt) {
01999                      guiControl.displayStatus.setSCTDBDataMode(-1);  
02000                      updateToolBar(DisplayStatus.SCTDB_DATA);         
02001                      }
02002              });
02003              break;
02004              case DisplayStatus.DCS_DATA:    // DCS Data
02005              item.addActionListener(new java.awt.event.ActionListener() {
02006                  public void actionPerformed(java.awt.event.ActionEvent evt) {
02007                      guiControl.displayStatus.setDCSDataMode();  
02008                      updateToolBar(DisplayStatus.DCS_DATA);         
02009                      }
02010              });
02011              break;
02012             case DisplayStatus.SCTDB_RODDAQ_DATA:    // SctRodDaq Archive Data
02013              item.addActionListener(new java.awt.event.ActionListener() {
02014                  public void actionPerformed(java.awt.event.ActionEvent evt) {
02015                      guiControl.displayStatus.setSCTDBRodDaqMode(-1);  
02016                      updateToolBar(DisplayStatus.SCTDB_RODDAQ_DATA);         
02017                      }
02018              });
02019              break;
02020             case DisplayStatus.IV_DATA:    // SctRodDaq Archive Data
02021              item.addActionListener(new java.awt.event.ActionListener() {
02022                  public void actionPerformed(java.awt.event.ActionEvent evt) {
02023                     String ivdirectory = PreferencesInterface.getInstance().getPreference(PreferencesInterface.IV_DIRECTORY);
02024                     if(ivdirectory.equals(PreferencesInterface.unDefinedString)) javax.swing.JOptionPane.showMessageDialog(null,"You have not defined the IV data directory. You need to do this before importing IV scan data.");                        
02025                      guiControl.displayStatus.setIVDataMode();  
02026                      updateToolBar(DisplayStatus.IV_DATA);         
02027                      }
02028              });
02029              break;
02030              default:
02031              }
02032           menu.add(item);
02033 
02034           }
02035           return menu;
02036       }
02037 
02038    private void plotIVScanData(String serialNo) {
02039                    IVTestSelection ivTestSelection = guiControl.tablesDisplayPane.getIVTestSelection();
02040                    if(ivTestSelection==null) {
02041                        javax.swing.JOptionPane.showMessageDialog(null,"No IV Scan selected.");
02042                        return;
02043                        }
02044                    String summary = "IV Scan Plots for Run "+Integer.toString(ivTestSelection.getRunNo())+", Scan "+Integer.toString(ivTestSelection.getScanNo());
02045                    DisplayGUI.plotters.IVScansData ivScansData = new DisplayGUI.plotters.IVScansData(summary);
02046                    for(java.util.Enumeration e = ConfigurationInterface.getInstance().getSerialNumberMap(guiControl.displayPane.getSCTView()).elements(); e.hasMoreElements();) {
02047                        ModuleCell thisCell = (ModuleCell) e.nextElement();
02048                        String sn = thisCell.getSerialNo();
02049                        SummaryReader.IVData ivData = guiControl.isInterface.getIVData(ivTestSelection.getResultObjectHeader(),thisCell.getSerialNo());
02050                        if(ivData!=null) ivScansData.add(sn,ivData.getDataPointSet());
02051                        }
02052                     DisplayGUI.plotters.IVPlotDisplay ivPlotDisplay = new DisplayGUI.plotters.IVPlotDisplay();
02053                     ivPlotDisplay.showData(ivScansData,serialNo);
02054                     }
02055 
02056 
02057 }
02058      

Generated on Thu Jul 15 09:55:42 2004 for SCT DAQ/DCS Software - Java by doxygen 1.3.5