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

Preference.java

00001 package Preferences;
00002 /*
00003  * Preference.java
00004  *
00005  * Created on 14 October 2003, 13:28
00006  */
00007 
00012 public class Preference extends javax.swing.JDialog {
00013 
00014     private javax.swing.JLabel titleLabel;
00015     private javax.swing.JButton updateButton;
00016     private javax.swing.JButton closeButton;
00017     private javax.swing.JLabel valueLabel;
00018     private int parameter;
00019     private PreferencesInterface preferences = PreferencesInterface.getInstance();
00020     private javax.swing.JFrame topFrame;
00021 
00023     public Preference(javax.swing.JFrame parent, int parameter) {
00024         super(parent, "Set Preference", true);
00025         topFrame=parent;
00026         this.parameter=parameter;
00027         initComponents();
00028         setLocationRelativeTo(topFrame);
00029         setVisible(true);
00030     }
00031     public String getValue() {
00032         return valueLabel.getText();
00033         }
00034     
00040     private void initComponents() {
00041         java.awt.GridBagConstraints gridBagConstraints;
00042 
00043         titleLabel = new javax.swing.JLabel();
00044         updateButton = new javax.swing.JButton();
00045         closeButton = new javax.swing.JButton();
00046         valueLabel = new javax.swing.JLabel();
00047 
00048         getContentPane().setLayout(new java.awt.GridBagLayout());
00049 
00050         addWindowListener(new java.awt.event.WindowAdapter() {
00051             public void windowClosing(java.awt.event.WindowEvent evt) {
00052                 closeDialog(evt);
00053             }
00054         });
00055 
00056         titleLabel.setFont(new java.awt.Font("Arial", 1, 12));
00057         titleLabel.setForeground(new java.awt.Color(255, 0, 0));
00058         titleLabel.setText(preferences.getDescription(parameter));
00059         gridBagConstraints = new java.awt.GridBagConstraints();
00060         gridBagConstraints.gridwidth = 2;
00061         gridBagConstraints.weighty = 0.4;
00062         gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
00063         getContentPane().add(titleLabel, gridBagConstraints);
00064 
00065         valueLabel.setFont(new java.awt.Font("Arial", 0, 12));
00066         valueLabel.setText(preferences.getPreference(parameter));
00067         gridBagConstraints = new java.awt.GridBagConstraints();
00068         gridBagConstraints.gridx = 0;
00069         gridBagConstraints.gridy = 1;
00070         gridBagConstraints.gridwidth = 2;
00071         gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
00072         gridBagConstraints.weighty = 0.3;
00073         getContentPane().add(valueLabel, gridBagConstraints);
00074 
00075         updateButton.setFont(new java.awt.Font("Arial", 0, 12));
00076         updateButton.setText("Change...");
00077         gridBagConstraints = new java.awt.GridBagConstraints();
00078         gridBagConstraints.gridx = 0;
00079         gridBagConstraints.gridy = 2;
00080         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00081         gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
00082         gridBagConstraints.weightx = 0.3;
00083         getContentPane().add(updateButton, gridBagConstraints);
00084 
00085         closeButton.setFont(new java.awt.Font("Arial", 0, 12));
00086         closeButton.setText("Close");
00087         gridBagConstraints = new java.awt.GridBagConstraints();
00088         gridBagConstraints.gridx = 1;
00089         gridBagConstraints.gridy = 2;
00090         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00091         gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
00092         gridBagConstraints.weightx = 0.3;
00093         getContentPane().add(closeButton, gridBagConstraints);
00094 
00095         closeButton.addActionListener(new java.awt.event.ActionListener() {
00096                  public void actionPerformed(java.awt.event.ActionEvent evt) { 
00097                      closeForm();      
00098                      }
00099              });
00100 
00101 
00102 
00103         updateButton.addActionListener(new java.awt.event.ActionListener() {
00104                  public void actionPerformed(java.awt.event.ActionEvent evt) {
00105                      javax.swing.JFileChooser fc;
00106                      int returnVal;
00107                      switch(parameter) {
00108                        case PreferencesInterface.PSVIEWER:
00109                           fc = new javax.swing.JFileChooser();
00110                           fc.setDialogTitle("Find a postscript viewer executable:");
00111                           returnVal = fc.showOpenDialog(topFrame);
00112                           if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
00113                                java.io.File file = fc.getSelectedFile();
00114                                if(!file.exists()) javax.swing.JOptionPane.showMessageDialog(null,file.getAbsolutePath()+" does not exist","Error",javax.swing.JOptionPane.ERROR_MESSAGE);
00115                                else {
00116                                  valueLabel.setText(file.getAbsolutePath());
00117                                  preferences.setPreference(PreferencesInterface.PSVIEWER,file.getAbsolutePath());
00118                                  pack();
00119                                  }
00120                                }
00121                           break;
00122                        case PreferencesInterface.SCRATCH_DIR:
00123                           fc = new javax.swing.JFileChooser();
00124                           fc.setDialogTitle("Select a suitable scratch disk:");
00125                           fc.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY);
00126 
00127                           returnVal = fc.showOpenDialog(topFrame);
00128                           if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
00129                                java.io.File file = fc.getSelectedFile();
00130                                if(!file.exists()) javax.swing.JOptionPane.showMessageDialog(null,file.getAbsolutePath()+" does not exist","Error",javax.swing.JOptionPane.ERROR_MESSAGE);
00131                                else {
00132                                  valueLabel.setText(file.getAbsolutePath());
00133                                  preferences.setPreference(PreferencesInterface.SCRATCH_DIR,file.getAbsolutePath());
00134                                  pack();
00135                                  }
00136                                }
00137                           break;
00138                        case PreferencesInterface.UPLOAD_DIR:
00139                           fc = new javax.swing.JFileChooser();
00140                           fc.setDialogTitle("Select a suitable upload directory:");
00141                           fc.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY);
00142 
00143                           returnVal = fc.showOpenDialog(topFrame);
00144                           if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
00145                                java.io.File file = fc.getSelectedFile();
00146                                if(!file.exists()) javax.swing.JOptionPane.showMessageDialog(null,file.getAbsolutePath()+" does not exist","Error",javax.swing.JOptionPane.ERROR_MESSAGE);
00147                                else {
00148                                  valueLabel.setText(file.getAbsolutePath());
00149                                  preferences.setPreference(PreferencesInterface.UPLOAD_DIR,file.getAbsolutePath());
00150                                  pack();
00151                                  }
00152                                }
00153                           break;
00154                        case PreferencesInterface.WEB_LOOKUP_DIR:
00155                           fc = new javax.swing.JFileChooser();
00156                           fc.setDialogTitle("Select the directory for the web lookup table:");
00157                           fc.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY);
00158 
00159                           returnVal = fc.showOpenDialog(topFrame);
00160                           if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
00161                                java.io.File file = fc.getSelectedFile();
00162                                if(!file.exists()) javax.swing.JOptionPane.showMessageDialog(null,file.getAbsolutePath()+" does not exist","Error",javax.swing.JOptionPane.ERROR_MESSAGE);
00163                                else {
00164                                  valueLabel.setText(file.getAbsolutePath());
00165                                  preferences.setPreference(PreferencesInterface.WEB_LOOKUP_DIR,file.getAbsolutePath());
00166                                  pack();
00167                                  }
00168                                }
00169                           break;
00170                        case PreferencesInterface.IV_DIRECTORY:
00171                           fc = new javax.swing.JFileChooser();
00172                           fc.setDialogTitle("Select IVscan data directory:");
00173                           fc.setFileSelectionMode(javax.swing.JFileChooser.DIRECTORIES_ONLY);
00174 
00175                           returnVal = fc.showOpenDialog(topFrame);
00176                           if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
00177                                java.io.File file = fc.getSelectedFile();
00178                                if(!file.exists()) javax.swing.JOptionPane.showMessageDialog(null,file.getAbsolutePath()+" does not exist","Error",javax.swing.JOptionPane.ERROR_MESSAGE);
00179                                else {
00180                                  valueLabel.setText(file.getAbsolutePath());
00181                                  preferences.setPreference(PreferencesInterface.IV_DIRECTORY,file.getAbsolutePath());
00182                                  pack();
00183                                  }
00184                                }
00185                           break;
00186                        case PreferencesInterface.INSTITUTE:
00187                          java.util.Vector listOfLocations = new java.util.Vector();
00188                          try {
00189                          listOfLocations = ProdDatabase.GeneralUtilities.getLocationList();
00190                          }catch(Exception e2){}
00191                          String thisLoc = preferences.getPreference(PreferencesInterface.INSTITUTE);
00192                          if(thisLoc.equals(PreferencesInterface.unDefinedString)) thisLoc="Any";
00193                          guiUtilities.userPrompt thisPrompt = new guiUtilities.userPrompt(topFrame,thisLoc,"Institute", listOfLocations);
00194                          thisPrompt.pack();
00195                          thisPrompt.setLocationRelativeTo(topFrame);
00196                          thisPrompt.setVisible(true);
00197                          String thisLocation = thisPrompt.getValidatedText();
00198                          if (!thisLocation.equals("None")) {
00199                                  valueLabel.setText(thisLocation);
00200                                  preferences.setPreference(PreferencesInterface.INSTITUTE,thisLocation);
00201                                  pack();
00202                                  }                   
00203                          break;
00204                        case PreferencesInterface.SCT_VIEW:
00205                          java.util.Vector listOfViews = new java.util.Vector();
00206                          for(int i=0;i<DisplayGUI.SCTInfo.SCTViewNames.length;i++) listOfViews.addElement(DisplayGUI.SCTInfo.SCTViewNames[i]);
00207                          String thisView = preferences.getPreference(PreferencesInterface.SCT_VIEW);
00208                          if(thisView.equals(PreferencesInterface.unDefinedString)) thisView="Barrel 3";
00209                          thisPrompt = new guiUtilities.userPrompt(topFrame,thisView,"SCT View", listOfViews);
00210                          thisPrompt.pack();
00211                          thisPrompt.setLocationRelativeTo(topFrame);
00212                          thisPrompt.setVisible(true);
00213                          thisView = thisPrompt.getValidatedText();
00214                          if (!thisView.equals("None")) {
00215                                  valueLabel.setText(thisView);
00216                                  preferences.setPreference(PreferencesInterface.SCT_VIEW,thisView);
00217                                  pack();
00218                                  }                   
00219                          break;
00220                       case PreferencesInterface.DCS_SERVER_NAME:
00221                          String response = javax.swing.JOptionPane.showInputDialog("Enter DCS IS Server Name",preferences.getPreference(PreferencesInterface.DCS_SERVER_NAME));
00222                          if(response!=null) {  
00223                                  valueLabel.setText(response);                               
00224                                  preferences.setPreference(PreferencesInterface.DCS_SERVER_NAME,response);
00225                                  }                   
00226                          break;
00227                      case PreferencesInterface.PASSWORD:
00228                          response = javax.swing.JOptionPane.showInputDialog("Enter SCTDB Password",preferences.getPreference(PreferencesInterface.PASSWORD));
00229                          if(response!=null) {  
00230                                  valueLabel.setText(response);                               
00231                                  preferences.setPreference(PreferencesInterface.PASSWORD,response);
00232                                  }                   
00233                          break;
00234                        default: 
00235                        }                           
00236                      }
00237              });
00238         pack();
00239     }
00240     
00242     private void closeDialog(java.awt.event.WindowEvent evt) {
00243         closeForm();
00244     }
00245     private void closeForm() {
00246         setVisible(false);
00247         dispose();
00248     }
00249     
00250     
00251     
00252 
00253     
00254 }

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