BookKeeperPrompt.java

00001 /*
00002  * BookKeeperPrompt.java
00003  *
00004  * Created on 26 March 2004, 12:10
00005  */
00006 
00007 package DisplayGUI;
00008 import java.io.*;
00009 
00014 public class BookKeeperPrompt extends javax.swing.JFrame implements displayParams {
00015 
00016     File file=null;
00017     File trashFile=null;
00018     
00020     public BookKeeperPrompt() {
00021         super("SctRodDaq BookKeeper");
00022         initComponents();
00023     }
00024     
00030     private void initComponents() {
00031         java.awt.GridBagConstraints gridBagConstraints;
00032 
00033         getContentPane().setBackground(backgroundColor);
00034 
00035         jLabel1 = new javax.swing.JLabel();
00036         jTextArea1 = new javax.swing.JTextArea();
00037         jLabel2 = new javax.swing.JLabel();
00038         enterButton = new javax.swing.JButton();
00039         closeButton = new javax.swing.JButton();
00040         trashFlag = new javax.swing.JCheckBox();
00041         trashFlag.setBackground(backgroundColor);
00042 
00043         getContentPane().setLayout(new java.awt.GridBagLayout());
00044 
00045         addWindowListener(new java.awt.event.WindowAdapter() {
00046             public void windowClosing(java.awt.event.WindowEvent evt) {
00047                 exitForm(evt);
00048             }
00049         });
00050 
00051         jLabel1.setText("jLabel1");
00052         jLabel1.setFont(displayTextFont);
00053         jLabel1.setForeground(darkBlueColor);
00054         gridBagConstraints = new java.awt.GridBagConstraints();
00055         gridBagConstraints.gridwidth = 2;
00056         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00057         getContentPane().add(jLabel1, gridBagConstraints);
00058 
00059         gridBagConstraints = new java.awt.GridBagConstraints();
00060         gridBagConstraints.gridx = 0;
00061         gridBagConstraints.gridy = 2;
00062         gridBagConstraints.gridwidth = 2;
00063         gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 5);
00064         jTextArea1.setLineWrap(true);
00065         jTextArea1.setWrapStyleWord(true);
00066         javax.swing.JScrollPane areaScrollPane = new javax.swing.JScrollPane(jTextArea1);
00067         areaScrollPane.setVerticalScrollBarPolicy(
00068                         javax.swing.JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
00069         areaScrollPane.setPreferredSize(new java.awt.Dimension(250, 250));
00070         getContentPane().add(areaScrollPane, gridBagConstraints);
00071 
00072         jLabel2.setText("Enter comments");
00073         jLabel2.setFont(displayScaleFont);
00074         gridBagConstraints = new java.awt.GridBagConstraints();
00075         gridBagConstraints.gridx = 0;
00076         gridBagConstraints.gridy = 1;
00077         gridBagConstraints.gridwidth = 2;
00078         gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 5);
00079         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
00080         getContentPane().add(jLabel2, gridBagConstraints);
00081         
00082         trashFlag.setText("Tick to flag this run as TRASH");
00083         trashFlag.setSelected(false);
00084         gridBagConstraints = new java.awt.GridBagConstraints();
00085         gridBagConstraints.gridx = 0;
00086         gridBagConstraints.gridy = 3;
00087         gridBagConstraints.gridwidth = 2;
00088         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00089         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
00090         getContentPane().add(trashFlag, gridBagConstraints);
00091         trashFlag.addActionListener(new java.awt.event.ActionListener() {
00092             public void actionPerformed(java.awt.event.ActionEvent evt) {
00093             if(trashFlag.isSelected()) {
00094                 trashFlag.setText("FLAGGED AS TRASH");
00095                 trashFlag.setForeground(java.awt.Color.RED);
00096                 }
00097            else {
00098                trashFlag.setText("Tick to flag this run as TRASH");
00099                trashFlag.setForeground(java.awt.Color.black);
00100                }
00101             }
00102         });
00103 
00104         enterButton.setText("Enter");
00105         enterButton.setFont(displayScaleFont);
00106         gridBagConstraints = new java.awt.GridBagConstraints();
00107         gridBagConstraints.gridx = 0;
00108         gridBagConstraints.gridy = 4;
00109         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00110         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
00111         getContentPane().add(enterButton, gridBagConstraints);
00112         enterButton.addActionListener(new java.awt.event.ActionListener() {
00113             public void actionPerformed(java.awt.event.ActionEvent evt) {
00114               if(file==null) {
00115                  System.err.println("Null test index file");
00116                  return;
00117                  }
00118               try {
00119                 BufferedWriter out = new BufferedWriter(new FileWriter(file));
00120                 String txt = jTextArea1.getText();
00121                 if(!txt.equals("")) out.write(jTextArea1.getText());
00122                 out.close();
00123                 if(trashFile!=null) {
00124                    if(trashFlag.isSelected()) {
00125                       out = new BufferedWriter(new FileWriter(trashFile));
00126                       out.newLine();
00127                       out.close();
00128                       }
00129                    else trashFile.delete();
00130                    }
00131               }catch(Exception e) {
00132                 System.err.println("SctGUI::BookKeeper - failed to update test index file "+file.getAbsolutePath()+" - "+e.toString());
00133                 }
00134             exitForm(null);
00135             }
00136         });
00137 
00138         closeButton.setText("Close");
00139         closeButton.setFont(displayScaleFont);
00140         gridBagConstraints = new java.awt.GridBagConstraints();
00141         gridBagConstraints.gridx = 1;
00142         gridBagConstraints.gridy = 4;
00143         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00144         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
00145         getContentPane().add(closeButton, gridBagConstraints);
00146         closeButton.addActionListener(new java.awt.event.ActionListener() {
00147             public void actionPerformed(java.awt.event.ActionEvent evt) {
00148                 exitForm(null);
00149             }
00150         });
00151 
00152         pack();
00153         java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
00154         java.awt.Dimension WSize = getSize();
00155         setLocation((screenSize.width-(int)WSize.getWidth())/2,(screenSize.height-(int)WSize.getHeight())/2);
00156     }
00157     
00159     private void exitForm(java.awt.event.WindowEvent evt) {
00160         setVisible(false);
00161     }
00162 
00163     public void showPrompt(File file, String run, String scan, String testName) {
00164         this.file=file;
00165 
00166         File parent = file.getParentFile();
00167         if(!parent.exists()) {
00168            javax.swing.JOptionPane.showMessageDialog(null,"Bookkeeping not available for this run or scan");
00169            return;
00170            }
00171 
00172         if(testName==null) {
00173             jLabel1.setText("Run "+run);
00174             jLabel2.setText("Please enter a description for this run:");
00175             trashFile = new File(parent,"trashed.txt");
00176             trashFlag.setVisible(true);
00177             if(trashFile.exists()) {
00178                 trashFlag.setText("FLAGGED AS TRASH");
00179                 trashFlag.setForeground(java.awt.Color.RED);
00180                 trashFlag.setSelected(true);
00181                 }
00182            else {
00183                trashFlag.setText("Tick to flag this run as TRASH");
00184                trashFlag.setForeground(java.awt.Color.black);
00185                trashFlag.setSelected(false);
00186                }
00187             }
00188         else {
00189             jLabel1.setText(testName+" (Run/Scan "+run+"/"+scan+")");
00190             jLabel2.setText("Please enter a description for this test:");
00191             trashFile=null;
00192             trashFlag.setVisible(false);
00193             }
00194         jTextArea1.setText("");
00195         try {
00196         if(file.exists()) {
00197             BufferedReader in = new BufferedReader(new FileReader(file));
00198             String line;
00199             int count=0;
00200             while((line=in.readLine())!=null) {
00201                if(count>0) jTextArea1.append("\n");
00202                jTextArea1.append(line);
00203                count++;
00204                }
00205             in.close();
00206             }
00207          }catch(Exception e) {
00208             System.err.println("SctGUI::BookKeeper - Failed to read test index "+file.getAbsolutePath()+" - "+e.toString());
00209             }
00210          pack();
00211          setVisible(true);
00212         }
00213               
00214     
00215 
00216     
00217     // Variables declaration - do not modify
00218     private javax.swing.JButton closeButton;
00219     private javax.swing.JButton enterButton;
00220     private javax.swing.JLabel jLabel1;
00221     private javax.swing.JLabel jLabel2;
00222     private javax.swing.JTextArea jTextArea1;
00223     private javax.swing.JCheckBox trashFlag;
00224     // End of variables declaration
00225     
00226 }

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