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

MyJPanel.java

00001 
00006 package TestGUI;
00007 
00008 import javax.swing.*;
00009 import is.*;
00010 import SctData.*;
00011 import Sct.Version;
00012 import GuiComponents.System.*;
00013 import SctTestApi.*;
00014 
00019 public class MyJPanel extends javax.swing.JPanel {
00020     protected static JTextArea taOutput;
00021     
00023     public MyJPanel() {
00024         initComponents();
00025         myInitComponents();      
00026     }
00027     
00028     private void exit() {
00029         pIS.close();
00030         pMRS.close();
00031         pCC.close();
00032         System.exit(0); 
00033     }
00034     
00035     private void myInitComponents() {
00036         taOutput = new JTextArea() {
00037             public void append(String str) {
00038                 super.append(str);
00039                 setCaretPosition(getText().length());
00040             }
00041         };
00042         
00043         taOutput.setEditable(false);
00044         taOutput.setBorder(new javax.swing.border.EtchedBorder());
00045         jScrollPane1.setViewportView(taOutput);
00046         
00047         si = SystemInterface.getInstance();
00048         is = ISInterface.getInstance();
00049         pIS = new ISPanel(taOutput);
00050         pMRS = new MRSPanel(taOutput);
00051         pCC = new CalibrationControllerPanel(taOutput);
00052         scripting = new ScriptingPanel(this);
00053         
00054         this.tpTabs.insertTab("IS", null, pIS, "IS Servers in Partition SCT", 0);        
00055         this.tpTabs.insertTab("MRS", null, pMRS, "MRS Messages for Partition SCT", 1);
00056         this.tpTabs.insertTab("CalibrationController", null, pCC, "Interface to Calibration Controller", 2);
00057         this.tpTabs.addTab("Scripting", null, scripting, "Gives command line access in a choice of languages");
00058     }
00059     
00060     public static JTextArea getMessageArea() {
00061         return taOutput;
00062     }
00063     
00069     private void initComponents() {//GEN-BEGIN:initComponents
00070         java.awt.GridBagConstraints gridBagConstraints;
00071         
00072         jSplitPane1 = new javax.swing.JSplitPane();
00073         tpTabs = new javax.swing.JTabbedPane();
00074         pAPI = new javax.swing.JPanel();
00075         bRefresh = new javax.swing.JButton();
00076         bPipeline = new javax.swing.JButton();
00077         bTrim = new javax.swing.JButton();
00078         bStobe = new javax.swing.JButton();
00079         bApiPing = new javax.swing.JButton();
00080         jSeparator1 = new javax.swing.JSeparator();
00081         bNoise = new javax.swing.JButton();
00082         b3Gain = new javax.swing.JButton();
00083         bResponse = new javax.swing.JButton();
00084         jLabel1 = new javax.swing.JLabel();
00085         bBypass = new javax.swing.JButton();
00086         bTimeWalk = new javax.swing.JButton();
00087         jPanel1 = new javax.swing.JPanel();
00088         lOutput = new javax.swing.JLabel();
00089         jScrollPane1 = new javax.swing.JScrollPane();
00090         jPanel2 = new javax.swing.JPanel();
00091         bAbout = new javax.swing.JButton();
00092         bGC = new javax.swing.JButton();
00093         bExit = new javax.swing.JButton();
00094         
00095         setLayout(new java.awt.GridBagLayout());
00096         
00097         jSplitPane1.setDividerLocation(400);
00098         jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
00099         pAPI.setLayout(new java.awt.GridBagLayout());
00100         
00101         pAPI.setName("API");
00102         bRefresh.setText("Refresh");
00103         bRefresh.addActionListener(new java.awt.event.ActionListener() {
00104             public void actionPerformed(java.awt.event.ActionEvent evt) {
00105                 bRefreshActionPerformed(evt);
00106             }
00107         });
00108         
00109         gridBagConstraints = new java.awt.GridBagConstraints();
00110         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00111         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00112         pAPI.add(bRefresh, gridBagConstraints);
00113         
00114         bPipeline.setText("Pipeline Test");
00115         bPipeline.addActionListener(new java.awt.event.ActionListener() {
00116             public void actionPerformed(java.awt.event.ActionEvent evt) {
00117                 bPipelineActionPerformed(evt);
00118             }
00119         });
00120         
00121         gridBagConstraints = new java.awt.GridBagConstraints();
00122         gridBagConstraints.gridx = 2;
00123         gridBagConstraints.gridy = 1;
00124         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00125         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00126         pAPI.add(bPipeline, gridBagConstraints);
00127         
00128         bTrim.setText("Trim Range");
00129         bTrim.addActionListener(new java.awt.event.ActionListener() {
00130             public void actionPerformed(java.awt.event.ActionEvent evt) {
00131                 bTrimActionPerformed(evt);
00132             }
00133         });
00134         
00135         gridBagConstraints = new java.awt.GridBagConstraints();
00136         gridBagConstraints.gridx = 3;
00137         gridBagConstraints.gridy = 0;
00138         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00139         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00140         pAPI.add(bTrim, gridBagConstraints);
00141         
00142         bStobe.setText("Strobe Delay");
00143         bStobe.addActionListener(new java.awt.event.ActionListener() {
00144             public void actionPerformed(java.awt.event.ActionEvent evt) {
00145                 bStobeActionPerformed(evt);
00146             }
00147         });
00148         
00149         gridBagConstraints = new java.awt.GridBagConstraints();
00150         gridBagConstraints.gridx = 2;
00151         gridBagConstraints.gridy = 2;
00152         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00153         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00154         pAPI.add(bStobe, gridBagConstraints);
00155         
00156         bApiPing.setText("Ping");
00157         bApiPing.addActionListener(new java.awt.event.ActionListener() {
00158             public void actionPerformed(java.awt.event.ActionEvent evt) {
00159                 bApiPingActionPerformed(evt);
00160             }
00161         });
00162         
00163         gridBagConstraints = new java.awt.GridBagConstraints();
00164         gridBagConstraints.gridx = 0;
00165         gridBagConstraints.gridy = 1;
00166         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00167         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00168         pAPI.add(bApiPing, gridBagConstraints);
00169         
00170         jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
00171         gridBagConstraints = new java.awt.GridBagConstraints();
00172         gridBagConstraints.gridx = 1;
00173         gridBagConstraints.gridy = 0;
00174         gridBagConstraints.gridheight = 4;
00175         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
00176         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00177         pAPI.add(jSeparator1, gridBagConstraints);
00178         
00179         bNoise.setText("Noise");
00180         bNoise.addActionListener(new java.awt.event.ActionListener() {
00181             public void actionPerformed(java.awt.event.ActionEvent evt) {
00182                 bNoiseActionPerformed(evt);
00183             }
00184         });
00185         
00186         gridBagConstraints = new java.awt.GridBagConstraints();
00187         gridBagConstraints.gridx = 3;
00188         gridBagConstraints.gridy = 2;
00189         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00190         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
00191         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00192         pAPI.add(bNoise, gridBagConstraints);
00193         
00194         b3Gain.setText("3 Point Gain");
00195         b3Gain.addActionListener(new java.awt.event.ActionListener() {
00196             public void actionPerformed(java.awt.event.ActionEvent evt) {
00197                 b3GainActionPerformed(evt);
00198             }
00199         });
00200         
00201         gridBagConstraints = new java.awt.GridBagConstraints();
00202         gridBagConstraints.gridx = 2;
00203         gridBagConstraints.gridy = 3;
00204         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00205         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
00206         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00207         pAPI.add(b3Gain, gridBagConstraints);
00208         
00209         bResponse.setText("Response Curve");
00210         bResponse.addActionListener(new java.awt.event.ActionListener() {
00211             public void actionPerformed(java.awt.event.ActionEvent evt) {
00212                 bResponseActionPerformed(evt);
00213             }
00214         });
00215         
00216         gridBagConstraints = new java.awt.GridBagConstraints();
00217         gridBagConstraints.gridx = 3;
00218         gridBagConstraints.gridy = 1;
00219         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00220         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00221         pAPI.add(bResponse, gridBagConstraints);
00222         
00223         gridBagConstraints = new java.awt.GridBagConstraints();
00224         gridBagConstraints.gridx = 4;
00225         gridBagConstraints.gridy = 4;
00226         gridBagConstraints.weightx = 1.0;
00227         gridBagConstraints.weighty = 1.0;
00228         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00229         pAPI.add(jLabel1, gridBagConstraints);
00230         
00231         bBypass.setText("Full Bypass");
00232         bBypass.addActionListener(new java.awt.event.ActionListener() {
00233             public void actionPerformed(java.awt.event.ActionEvent evt) {
00234                 bBypassActionPerformed(evt);
00235             }
00236         });
00237         
00238         gridBagConstraints = new java.awt.GridBagConstraints();
00239         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00240         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00241         pAPI.add(bBypass, gridBagConstraints);
00242         
00243         bTimeWalk.setText("Time Walk");
00244         bTimeWalk.addActionListener(new java.awt.event.ActionListener() {
00245             public void actionPerformed(java.awt.event.ActionEvent evt) {
00246                 bTimeWalkActionPerformed(evt);
00247             }
00248         });
00249         
00250         gridBagConstraints = new java.awt.GridBagConstraints();
00251         gridBagConstraints.gridx = 3;
00252         gridBagConstraints.gridy = 3;
00253         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00254         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00255         pAPI.add(bTimeWalk, gridBagConstraints);
00256         
00257         tpTabs.addTab("API", null, pAPI, "Controls the test SCTAPI interface");
00258         
00259         jSplitPane1.setTopComponent(tpTabs);
00260         
00261         jPanel1.setLayout(new java.awt.BorderLayout());
00262         
00263         lOutput.setText("Output");
00264         jPanel1.add(lOutput, java.awt.BorderLayout.NORTH);
00265         
00266         jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);
00267         
00268         jSplitPane1.setBottomComponent(jPanel1);
00269         
00270         gridBagConstraints = new java.awt.GridBagConstraints();
00271         gridBagConstraints.gridx = 0;
00272         gridBagConstraints.gridy = 0;
00273         gridBagConstraints.gridwidth = 3;
00274         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
00275         gridBagConstraints.weightx = 1.0;
00276         gridBagConstraints.weighty = 1.0;
00277         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00278         add(jSplitPane1, gridBagConstraints);
00279         
00280         jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
00281         
00282         bAbout.setText("About");
00283         bAbout.addActionListener(new java.awt.event.ActionListener() {
00284             public void actionPerformed(java.awt.event.ActionEvent evt) {
00285                 bAboutActionPerformed(evt);
00286             }
00287         });
00288         
00289         jPanel2.add(bAbout);
00290         
00291         bGC.setText("GC");
00292         bGC.setMaximumSize(new java.awt.Dimension(57, 32));
00293         bGC.setMinimumSize(new java.awt.Dimension(57, 32));
00294         bGC.setPreferredSize(new java.awt.Dimension(57, 32));
00295         bGC.addActionListener(new java.awt.event.ActionListener() {
00296             public void actionPerformed(java.awt.event.ActionEvent evt) {
00297                 bGCActionPerformed(evt);
00298             }
00299         });
00300         
00301         jPanel2.add(bGC);
00302         
00303         bExit.setText("Exit");
00304         bExit.addActionListener(new java.awt.event.ActionListener() {
00305             public void actionPerformed(java.awt.event.ActionEvent evt) {
00306                 bExitActionPerformed(evt);
00307             }
00308         });
00309         
00310         jPanel2.add(bExit);
00311         
00312         gridBagConstraints = new java.awt.GridBagConstraints();
00313         gridBagConstraints.gridx = 2;
00314         gridBagConstraints.gridy = 1;
00315         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00316         add(jPanel2, gridBagConstraints);
00317         
00318     }//GEN-END:initComponents
00319 
00320     private void bTimeWalkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bTimeWalkActionPerformed
00321         HighLevelApi api = si.getTestHighLevelApi();
00322         if (api != null) {   
00323             try {
00324                 api.timeWalk();
00325                 taOutput.append("Requesting SctTest do a timewalk scan\n");
00326             } catch (SctTestApi.NoDataException nde) {
00327                 taOutput.append("Failed to do a timewalk scan: " + nde.getMessage());
00328             }
00329         } else {
00330             taOutput.append("SctTest not present\n");
00331         }
00332     }//GEN-LAST:event_bTimeWalkActionPerformed
00333 
00334     private void bBypassActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bBypassActionPerformed
00335         HighLevelApi api = si.getTestHighLevelApi();
00336         if (api != null) {   
00337             try {
00338                 api.fullBypass();
00339                 taOutput.append("Requesting SctTest do a full bypass scan\n");
00340             } catch (SctTestApi.NoDataException nde) {
00341                 taOutput.append("Failed to do a full bypass scan: " + nde.getMessage());
00342             }
00343         } else {
00344             taOutput.append("SctTest not present\n");
00345         }
00346     }//GEN-LAST:event_bBypassActionPerformed
00347 
00348     private void bAboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bAboutActionPerformed
00349         String version = Version.instance.getAllInformation();
00350         String s = "TestGUI is a simple user interface for developers and is also used as a testbed for new developments.";
00351         s += "\nIt comes with no instructions or warranties, but may be useful for some purposes!";
00352         s += "\nTestGUI Author: Matthew Palmer.";
00353         s += "\nSctDaqRod Authors: Alan Barr, Bruce Gallop, Matthew Palmer, Dave Robinson and Alexander Tricoli";
00354         s += "\n\n" + version;
00355         JOptionPane.showMessageDialog(this, s, "About TestGUI", JOptionPane.INFORMATION_MESSAGE);
00356     }//GEN-LAST:event_bAboutActionPerformed
00357 
00358     private void bRefreshActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bRefreshActionPerformed
00359         si.refresh();
00360     }//GEN-LAST:event_bRefreshActionPerformed
00361 
00362     private void bPipelineActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bPipelineActionPerformed
00363         HighLevelApi api = si.getTestHighLevelApi();
00364         if (api != null) {   
00365             try {
00366                 api.pipeline();
00367                 taOutput.append("Requesting SctTest do a pipeline scan\n");
00368             } catch (SctTestApi.NoDataException nde) {
00369                 taOutput.append("Failed to do a pipeline scan: " + nde.getMessage());
00370             }
00371         } else {
00372             taOutput.append("SctTest not present\n");
00373         }
00374     }//GEN-LAST:event_bPipelineActionPerformed
00375 
00376     private void bTrimActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bTrimActionPerformed
00377         HighLevelApi api = si.getTestHighLevelApi();
00378         if (api != null) {   
00379             try {
00380                 api.trim();
00381                 taOutput.append("Requesting sct_api_server do a trim range scan\n");
00382             } catch (SctTestApi.NoDataException nde) {
00383                 taOutput.append("Failed to do a trim scan: " + nde.getMessage());
00384             }
00385         } else {
00386             taOutput.append("SCTTestAPI not present\n");
00387         }
00388     }//GEN-LAST:event_bTrimActionPerformed
00389 
00390     private void bStobeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bStobeActionPerformed
00391         HighLevelApi api = si.getTestHighLevelApi();
00392         if (api != null) {   
00393             try {
00394                 api.strobeDelay();
00395                 taOutput.append("Requesting SctTest do a strobe delay scan\n");
00396             } catch (SctTestApi.NoDataException nde) {
00397                 taOutput.append("Failed to do a strobe delay scan: " + nde.getMessage());
00398             }
00399         } else {
00400             taOutput.append("SctTest not present\n");
00401         }
00402     }//GEN-LAST:event_bStobeActionPerformed
00403 
00404     private void bApiPingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bApiPingActionPerformed
00405         HighLevelApi api = si.getTestHighLevelApi();
00406         if (api != null) {   
00407             //taOutput.append(api.ping("") + "\n");
00408         } else {
00409             taOutput.append("SctTest not present\n");
00410         }
00411     }//GEN-LAST:event_bApiPingActionPerformed
00412 
00413     private void bNoiseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bNoiseActionPerformed
00414         HighLevelApi api = si.getTestHighLevelApi();
00415         if (api != null) {   
00416             try {
00417                 api.noiseOccupancy();
00418                 taOutput.append("Requesting SctTest do a noise scan\n");
00419             } catch (SctTestApi.NoDataException nde) {
00420                 taOutput.append("Failed to do a noise occupancy scan: " + nde.getMessage());
00421             }
00422         } else {
00423             taOutput.append("SctTest not present\n");
00424         }
00425     }//GEN-LAST:event_bNoiseActionPerformed
00426 
00427     private void b3GainActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b3GainActionPerformed
00428         HighLevelApi api = si.getTestHighLevelApi();
00429         if (api != null) {   
00430             try {
00431                 api.threePointGain();
00432                 taOutput.append("Requesting SctTest do a 3 pt gain scan\n");
00433             } catch (SctTestApi.NoDataException nde) {
00434                 taOutput.append("Failed to do a three point gain scan: " + nde.getMessage());
00435             }
00436         } else {
00437             taOutput.append("SctTest not present\n");
00438         }
00439     }//GEN-LAST:event_b3GainActionPerformed
00440 
00441     private void bResponseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bResponseActionPerformed
00442         HighLevelApi api = si.getTestHighLevelApi();
00443         if (api != null) {   
00444             try {
00445                 api.responseCurve();
00446                 taOutput.append("Requesting SctTest do a response curve scan\n");
00447             } catch (SctTestApi.NoDataException nde) {
00448                 taOutput.append("Failed to do a response curve: " + nde.getMessage());
00449             }
00450         } else {
00451             taOutput.append("SctTest not present\n");
00452         }
00453     }//GEN-LAST:event_bResponseActionPerformed
00454 
00455     private void bGCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bGCActionPerformed
00456         Runtime r = Runtime.getRuntime();
00457         long freeMem = r.freeMemory();        
00458         long maxMem = r.maxMemory();
00459         long totalMem = r.totalMemory();
00460         taOutput.append("Total Mem: " + totalMem/1024. + ", Max Mem:" + maxMem/1024. + " , Free Mem: " + freeMem/1024.+ "\n" );
00461         r.gc();
00462         try {
00463             Thread.sleep(500);
00464         } catch (InterruptedException ie) {}
00465         r.gc();
00466         freeMem = r.freeMemory();
00467         maxMem = r.maxMemory();
00468         totalMem = r.totalMemory();
00469         taOutput.append("Total Mem: " + totalMem/1024. + ", Max Mem:" + maxMem/1024. + " , Free Mem: " + freeMem/1024. + "\n" );
00470     }//GEN-LAST:event_bGCActionPerformed
00471         
00472     //For now, just quit
00473     private void bExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bExitActionPerformed
00474         exit();
00475     }//GEN-LAST:event_bExitActionPerformed
00476          
00477     
00478     // Variables declaration - do not modify//GEN-BEGIN:variables
00479     private javax.swing.JButton b3Gain;
00480     private javax.swing.JButton bAbout;
00481     private javax.swing.JButton bApiPing;
00482     private javax.swing.JButton bBypass;
00483     private javax.swing.JButton bExit;
00484     private javax.swing.JButton bGC;
00485     private javax.swing.JButton bNoise;
00486     private javax.swing.JButton bPipeline;
00487     private javax.swing.JButton bRefresh;
00488     private javax.swing.JButton bResponse;
00489     private javax.swing.JButton bStobe;
00490     private javax.swing.JButton bTimeWalk;
00491     private javax.swing.JButton bTrim;
00492     private javax.swing.JLabel jLabel1;
00493     private javax.swing.JPanel jPanel1;
00494     private javax.swing.JPanel jPanel2;
00495     private javax.swing.JScrollPane jScrollPane1;
00496     private javax.swing.JSeparator jSeparator1;
00497     private javax.swing.JSplitPane jSplitPane1;
00498     private javax.swing.JLabel lOutput;
00499     private javax.swing.JPanel pAPI;
00500     private javax.swing.JTabbedPane tpTabs;
00501     // End of variables declaration//GEN-END:variables
00502     private ISPanel pIS;
00503     private MRSPanel pMRS;
00504     private CalibrationControllerPanel pCC;
00505     SystemInterface si;
00506     ISInterface is;
00507     ScriptingPanel scripting;
00508 }

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