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

ScalePointEditor.java

00001 package DisplayGUI;
00002 /*
00003  * ScalePointEditor.java
00004  *
00005  * Created on 03 February 2004, 09:51
00006  */
00007 
00012 public class ScalePointEditor extends javax.swing.JDialog implements displayParams {
00013     ColorScalePoint scalePoint=null;
00014     ColorScalePoint originalScalePoint=null;
00015     boolean editValues;
00017     public ScalePointEditor(java.awt.Frame parent, boolean modal, ColorScalePoint scalePoint, boolean editValues) {
00018         super(parent, modal);
00019         this.editValues=editValues;
00020         if(scalePoint!=null) {
00021             this.scalePoint=scalePoint;
00022             originalScalePoint=scalePoint;
00023             }
00024         initComponents();
00025     }
00026     
00027     private void initComponents() {
00028 
00029 
00030         java.awt.GridBagConstraints gridBagConstraints;
00031 
00032         if(scalePoint!=null) jColorChooser1 = new javax.swing.JColorChooser(scalePoint.getColor());
00033         else jColorChooser1 = new javax.swing.JColorChooser();
00034         valueLabel = new javax.swing.JLabel();
00035         labellabel = new javax.swing.JLabel();
00036         title = new javax.swing.JLabel();
00037         valueField = new javax.swing.JTextField();
00038         labelField = new javax.swing.JTextField();
00039         okButton = new javax.swing.JButton();
00040         cancelButton = new javax.swing.JButton();
00041 
00042         getContentPane().setLayout(new java.awt.GridBagLayout());
00043 
00044         addWindowListener(new java.awt.event.WindowAdapter() {
00045             public void windowClosing(java.awt.event.WindowEvent evt) {
00046                 closeDialog(evt);
00047             }
00048         });
00049 
00050         gridBagConstraints = new java.awt.GridBagConstraints();
00051         gridBagConstraints.gridx = 0;
00052         gridBagConstraints.gridy = 3;
00053         gridBagConstraints.gridwidth = 2;
00054         getContentPane().add(jColorChooser1, gridBagConstraints);
00055 
00056         if(scalePoint==null) title.setText("Add a new Scale Point");
00057         else title.setText("Edit Scale Point");
00058         title.setForeground(darkBlueColor);
00059         gridBagConstraints = new java.awt.GridBagConstraints();
00060         gridBagConstraints.gridx = 0;
00061         gridBagConstraints.gridy = 0;
00062         gridBagConstraints.gridwidth = 2;
00063         gridBagConstraints.weighty = 0.1;
00064         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
00065         gridBagConstraints.anchor = java.awt.GridBagConstraints.CENTER;
00066         getContentPane().add(title, gridBagConstraints);
00067 
00068         valueLabel.setText("Data Value:");
00069         gridBagConstraints = new java.awt.GridBagConstraints();
00070         gridBagConstraints.gridx = 0;
00071         gridBagConstraints.gridy = 1;
00072         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00073         gridBagConstraints.weightx = 0.4;
00074         gridBagConstraints.weighty = 0.1;
00075         getContentPane().add(valueLabel, gridBagConstraints);
00076 
00077         labellabel.setText("Label (Optional):");
00078         gridBagConstraints = new java.awt.GridBagConstraints();
00079         gridBagConstraints.gridx = 0;
00080         gridBagConstraints.gridy = 2;
00081         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00082         gridBagConstraints.weighty = 0.1;
00083         getContentPane().add(labellabel, gridBagConstraints);
00084 
00085         if(scalePoint!=null) valueField.setText(scalePoint.getValue().toString());
00086         else valueField.setText("");
00087         gridBagConstraints = new java.awt.GridBagConstraints();
00088         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00089         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
00090         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00091         gridBagConstraints.weightx = 0.6;
00092         gridBagConstraints.gridx = 1;
00093         gridBagConstraints.gridy = 1;
00094         getContentPane().add(valueField, gridBagConstraints);
00095 
00096         if(scalePoint!=null) labelField.setText(scalePoint.getLabel());
00097         else labelField.setText("");
00098         gridBagConstraints = new java.awt.GridBagConstraints();
00099         gridBagConstraints.gridx = 1;
00100         gridBagConstraints.gridy = 2;
00101         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00102         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
00103         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00104         getContentPane().add(labelField, gridBagConstraints);
00105 
00106         okButton.setText("Ok");
00107         gridBagConstraints = new java.awt.GridBagConstraints();
00108         gridBagConstraints.gridx = 0;
00109         gridBagConstraints.gridy = 4;
00110         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00111         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
00112         getContentPane().add(okButton, gridBagConstraints);
00113         okButton.addActionListener(new java.awt.event.ActionListener() {
00114             public void actionPerformed(java.awt.event.ActionEvent evt) {
00115                 Double value;
00116                 Double labelValue;
00117                 boolean labelIsNumber=true;
00118                 try {
00119                    value = Double.valueOf(valueField.getText());
00120                 }catch(Exception parseException) {
00121                    javax.swing.JOptionPane.showMessageDialog(null,"Value must be a number","Invalid value",javax.swing.JOptionPane.WARNING_MESSAGE);
00122                    return;
00123                    }
00124                 try { // if label is number, make it the same as the value
00125                    labelValue=Double.valueOf(labelField.getText());
00126                 }catch(Exception parseException2) {labelIsNumber=false;}
00127                String label = labelField.getText();
00128                if(label.equals("") || labelIsNumber) label = value.toString();
00129                scalePoint = new ColorScalePoint(value,jColorChooser1.getColor(),label);
00130                if(originalScalePoint!=null && scalePoint.equals(originalScalePoint)) scalePoint=null;
00131                closeDialog(null);
00132             }
00133         });
00134 
00135         cancelButton.setText("Cancel");
00136         gridBagConstraints = new java.awt.GridBagConstraints();
00137         gridBagConstraints.gridx = 1;
00138         gridBagConstraints.gridy = 4;
00139         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
00140         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
00141         gridBagConstraints.weighty = 0.1;
00142         getContentPane().add(cancelButton, gridBagConstraints);
00143         cancelButton.addActionListener(new java.awt.event.ActionListener() {
00144             public void actionPerformed(java.awt.event.ActionEvent evt) {
00145                scalePoint=null;
00146                closeDialog(null);
00147             }
00148         });
00149 
00150 
00151         valueField.setEnabled(editValues);
00152         labelField.setEnabled(editValues);
00153 
00154 
00155         pack();
00156         show();
00157     }
00158     
00160     private void closeDialog(java.awt.event.WindowEvent evt) {
00161         setVisible(false);
00162         dispose();
00163     }
00164     public ColorScalePoint getColorScalePoint() {
00165         if(scalePoint.getColor()==null) return null;
00166         if(scalePoint.getColor().equals(java.awt.Color.white)) {
00167            javax.swing.JOptionPane.showMessageDialog(null,"White is a Reserved Colour\nbecause it denotes 'No Data' in most display modes.\nPlease choose a different colour.");
00168            return null;
00169            }
00170          return scalePoint;
00171         }
00172     
00176     public static void main(String args[]) {
00177         new ScalePointEditor(new javax.swing.JFrame(), true, null, true).show();
00178     }
00179     
00180     
00181     // Variables declaration - do not modify
00182     private javax.swing.JButton cancelButton;
00183     private javax.swing.JColorChooser jColorChooser1;
00184     private javax.swing.JTextField labelField;
00185     private javax.swing.JLabel labellabel;
00186     private javax.swing.JLabel title;
00187     private javax.swing.JButton okButton;
00188     private javax.swing.JTextField valueField;
00189     private javax.swing.JLabel valueLabel;
00190     // End of variables declaration
00191     
00192 }

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