CalibrationControllerPanelMenu.java

00001 /*
00002  * CalibrationContollerPanelMenu class
00003  * defines and handles CC panel menu actions
00004  */
00005  
00006 package DisplayGUI;
00007 
00008 import javax.swing.JMenu;
00009 import javax.swing.JMenuItem;
00010 
00011 import GuiComponents.System.SystemInterface;
00012 import Sct_CalibrationController.CalibrationControllerPackage.*;
00013 
00021 public class CalibrationControllerPanelMenu extends JMenu implements displayParams {
00022 
00023         gui guiControl;
00024 
00025     private String[] ccUpdateStrings = {"Update","No-Update","Wait"};
00026 
00027         private static final int UPDATE=0;
00028         private static final int NO_UPDATE=1;
00029         private static final int WAIT=2;
00030 
00031     private javax.swing.JCheckBox[] ccUpdateModes = new javax.swing.JCheckBox[ccUpdateStrings.length];
00032 
00033         public CalibrationControllerPanelMenu(gui guiControl) {
00034                 super("CalibrationController");
00035                 this.guiControl = guiControl;
00036         setFont(menuFont);
00037         JMenuItem item = new JMenuItem("Ping");
00038         item.setFont(menuFont);
00039         item.addActionListener(new java.awt.event.ActionListener() {
00040              public void actionPerformed(java.awt.event.ActionEvent evt) {
00041                    try {
00042                       if (SystemInterface.getInstance().getCalibrationController() != null)  {
00043                          ipc.servantPackage.info info = SystemInterface.getInstance().getCalibrationController().information();
00044                          System.out.println("CalibrationController running: " + info.pid + " by " + info.owner + " on " +info.host + " since " + info.time);
00045                       } else System.out.println("CalibrationController not running");
00046                       }catch(Exception eNoAbort){System.err.println("Error aborting calibrationController: "+eNoAbort.toString());}
00047                     }
00048               });
00049         add(item);
00050 
00051         addSeparator();
00052 
00053         javax.swing.ButtonGroup thisGroup = new javax.swing.ButtonGroup();
00054         for(int i=0;i<ccUpdateModes.length;i++) {
00055                 ccUpdateModes[i] = new javax.swing.JCheckBox(ccUpdateStrings[i]);
00056                 thisGroup.add(ccUpdateModes[i]);
00057                 ccUpdateModes[i].setFont(menuFont);
00058                 add(ccUpdateModes[i]);
00059                 }
00060         item = new JMenuItem("Abort");
00061         item.setFont(menuFont);
00062         item.addActionListener(new java.awt.event.ActionListener() {
00063              public void actionPerformed(java.awt.event.ActionEvent evt) {
00064                    try {
00065 //                       System.out.println("abort of CC not yet implemented");
00066                        SystemInterface.getInstance().getCalibrationController().abort();
00067                        }catch(Exception eNoAbort){System.err.println("Error aborting calibrationController: "+eNoAbort.toString());}
00068                     }
00069               });
00070         addSeparator();
00071         add(item);
00072 
00073 
00074         ccUpdateModes[UPDATE].setSelected(true);
00075 
00076                 for(int i=0;i<ccUpdateModes.length;i++) {
00077            // ccUpdateModes[i].setEnabled(false);
00078                 switch(i) {
00079                         case UPDATE:
00080                         ccUpdateModes[i].addActionListener(new java.awt.event.ActionListener() {
00081                         public void actionPerformed(java.awt.event.ActionEvent evt) {
00082                                 try {
00083                         SystemInterface.getInstance().getCalibrationController().setUpdateOption(UpdateOption.update);
00084                         checkCCUpdateMode();
00085                                 }catch(Exception e){System.err.println("Error : "+e.toString());}
00086                                 }
00087                         });
00088                 break;
00089                 case NO_UPDATE:
00090                         ccUpdateModes[i].addActionListener(new java.awt.event.ActionListener() {
00091                         public void actionPerformed(java.awt.event.ActionEvent evt) {
00092                                 try {
00093                                 SystemInterface.getInstance().getCalibrationController().setUpdateOption(UpdateOption.noupdate);
00094                                 checkCCUpdateMode();
00095                                 }catch(Exception e){System.err.println("Error : "+e.toString());}
00096                                 }
00097                         });
00098                 break;
00099                 case WAIT:
00100                         ccUpdateModes[i].addActionListener(new java.awt.event.ActionListener() {
00101                         public void actionPerformed(java.awt.event.ActionEvent evt) {
00102                                 try {
00103                                 SystemInterface.getInstance().getCalibrationController().setUpdateOption(UpdateOption._wait);
00104                                 checkCCUpdateMode();
00105                                 }catch(Exception e){System.err.println("Error : "+e.toString());}
00106                                 }
00107                                 });
00108                 break;
00109                 default:
00110                 }
00111         }
00112         }
00113    public void checkCCUpdateMode() {
00114          if(guiControl.calibrationControllerPanel==null || guiControl.calibrationControllerPanel.status==null) {   // why is this necessary????
00115              System.out.println("CalibrationControllerPanel.status object not yet available... update mode not yet known");
00116              return;
00117              }
00118          String updateMode = guiControl.calibrationControllerPanel.status.updateOption;
00119          if(updateMode.equals("NOUPDATE")) ccUpdateModes[NO_UPDATE].setSelected(true);
00120          else if(updateMode.equals("WAIT")) ccUpdateModes[WAIT].setSelected(true);
00121          else   ccUpdateModes[UPDATE].setSelected(true);
00122          }
00123 
00124 }

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