mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/sam/SAMScriptDeltaValueInitDialog.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * SAMScriptDeltaValueInitDialog.java
2 26 Feb 07 jari 3  *
2 26 Feb 07 jari 4  * Created on May 20, 2004, 2:11 PM
2 26 Feb 07 jari 5  */
2 26 Feb 07 jari 6
2 26 Feb 07 jari 7 package org.tigr.microarray.mev.cluster.gui.impl.sam;
2 26 Feb 07 jari 8
2 26 Feb 07 jari 9 import java.awt.Dimension;
2 26 Feb 07 jari 10 import java.awt.GridBagConstraints;
2 26 Feb 07 jari 11 import java.awt.GridBagLayout;
2 26 Feb 07 jari 12 import java.awt.Insets;
2 26 Feb 07 jari 13 import java.awt.Toolkit;
2 26 Feb 07 jari 14 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 15 import java.awt.event.ItemEvent;
2 26 Feb 07 jari 16 import java.awt.event.ItemListener;
2 26 Feb 07 jari 17 import java.awt.event.WindowEvent;
2 26 Feb 07 jari 18
2 26 Feb 07 jari 19 import javax.swing.JCheckBox;
2 26 Feb 07 jari 20 import javax.swing.JFrame;
2 26 Feb 07 jari 21 import javax.swing.JLabel;
2 26 Feb 07 jari 22 import javax.swing.JOptionPane;
2 26 Feb 07 jari 23 import javax.swing.JTextField;
2 26 Feb 07 jari 24
2 26 Feb 07 jari 25 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog;
2 26 Feb 07 jari 26 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.DialogListener;
2 26 Feb 07 jari 27 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.ParameterPanel;
2 26 Feb 07 jari 28 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.dialogHelpUtil.HelpWindow;
2 26 Feb 07 jari 29
2 26 Feb 07 jari 30 /**
2 26 Feb 07 jari 31  *
2 26 Feb 07 jari 32  * @author  braisted
2 26 Feb 07 jari 33  */
2 26 Feb 07 jari 34 public class SAMScriptDeltaValueInitDialog extends AlgorithmDialog {
2 26 Feb 07 jari 35     
2 26 Feb 07 jari 36     int result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 37     JTextField deltaField;
2 26 Feb 07 jari 38     JCheckBox deltaGraphCheckBox;
2 26 Feb 07 jari 39     JLabel deltaLabel;
2 26 Feb 07 jari 40     
2 26 Feb 07 jari 41     /** Creates a new instance of SAMScriptDeltaValueInitDialog */
2 26 Feb 07 jari 42     public SAMScriptDeltaValueInitDialog(JFrame parent) {
2 26 Feb 07 jari 43         super(parent, "SAM Script Delta Selection", true);
2 26 Feb 07 jari 44         Listener listener = new Listener();
2 26 Feb 07 jari 45         deltaLabel = new JLabel("Delta Value");
2 26 Feb 07 jari 46         deltaField = new JTextField("1.0", 5);
2 26 Feb 07 jari 47         deltaField.setPreferredSize(new Dimension(70, 20));
2 26 Feb 07 jari 48         deltaField.setSize(new Dimension(70, 20));
2 26 Feb 07 jari 49         deltaGraphCheckBox = new JCheckBox("Interact with SAM graph. (Delta Value Slider)", false);
2 26 Feb 07 jari 50         deltaGraphCheckBox.setOpaque(false);
2 26 Feb 07 jari 51         deltaGraphCheckBox.setFocusPainted(false);
2 26 Feb 07 jari 52         deltaGraphCheckBox.addItemListener(listener);
2 26 Feb 07 jari 53         ParameterPanel params = new ParameterPanel("SAM Delta Value Selection");
2 26 Feb 07 jari 54         params.setLayout(new GridBagLayout());
2 26 Feb 07 jari 55         params.add(deltaLabel, new GridBagConstraints(0,0,1,1,0,0,GridBagConstraints.EAST, GridBagConstraints.VERTICAL, new Insets(10,0,20,20), 0,0));
2 26 Feb 07 jari 56         params.add(deltaField, new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.VERTICAL, new Insets(10,10,20,0), 0,0));
2 26 Feb 07 jari 57         params.add(deltaGraphCheckBox, new GridBagConstraints(0,1,2,1,0,0,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0,0,20,0), 0,0));
2 26 Feb 07 jari 58         addContent(params);
2 26 Feb 07 jari 59         setActionListeners(listener);
2 26 Feb 07 jari 60         pack();
2 26 Feb 07 jari 61     }
2 26 Feb 07 jari 62     
2 26 Feb 07 jari 63     /**
2 26 Feb 07 jari 64      * Returns the selected delta value
2 26 Feb 07 jari 65      */
2 26 Feb 07 jari 66     public float getDeltaValue() {
2 26 Feb 07 jari 67         String value = deltaField.getText();
2 26 Feb 07 jari 68         return Float.parseFloat(value);
2 26 Feb 07 jari 69     }
2 26 Feb 07 jari 70     
2 26 Feb 07 jari 71     /**
2 26 Feb 07 jari 72      *
2 26 Feb 07 jari 73      */
2 26 Feb 07 jari 74     public boolean interactWithGraph() {
2 26 Feb 07 jari 75         return deltaGraphCheckBox.isSelected();
2 26 Feb 07 jari 76     }
2 26 Feb 07 jari 77     
2 26 Feb 07 jari 78     private boolean validateValue(String value) {
2 26 Feb 07 jari 79         float v;
2 26 Feb 07 jari 80         try {
2 26 Feb 07 jari 81             v = Float.parseFloat(value);
2 26 Feb 07 jari 82             if(v < 0) {
2 26 Feb 07 jari 83                 JOptionPane.showMessageDialog(this, "Value must be greater than or equal to zero.", "Value Range Error", JOptionPane.ERROR_MESSAGE);
2 26 Feb 07 jari 84                 deltaField.selectAll();
2 26 Feb 07 jari 85                 deltaField.grabFocus();
2 26 Feb 07 jari 86                 return false;
2 26 Feb 07 jari 87             }
2 26 Feb 07 jari 88         } catch (NumberFormatException nfe) {
2 26 Feb 07 jari 89             JOptionPane.showMessageDialog(this, "Value is not in a valid format.", "Value Format Error", JOptionPane.ERROR_MESSAGE);
2 26 Feb 07 jari 90             deltaField.selectAll();
2 26 Feb 07 jari 91             deltaField.grabFocus();
2 26 Feb 07 jari 92             return false;
2 26 Feb 07 jari 93         } catch (NullPointerException npe) {
2 26 Feb 07 jari 94             JOptionPane.showMessageDialog(this, "Null value entered.", "Null Value Error", JOptionPane.ERROR_MESSAGE);
2 26 Feb 07 jari 95             deltaField.selectAll();
2 26 Feb 07 jari 96             deltaField.grabFocus();
2 26 Feb 07 jari 97             return false;
2 26 Feb 07 jari 98         }
2 26 Feb 07 jari 99         return true;
2 26 Feb 07 jari 100     }
2 26 Feb 07 jari 101     
2 26 Feb 07 jari 102     
2 26 Feb 07 jari 103     /**
2 26 Feb 07 jari 104      * Resets controls to default initial settings
2 26 Feb 07 jari 105      */
2 26 Feb 07 jari 106     private void resetControls(){
2 26 Feb 07 jari 107         deltaField.setText("1.0");
2 26 Feb 07 jari 108         deltaField.setEnabled(true);
2 26 Feb 07 jari 109         deltaLabel.setEnabled(true);
2 26 Feb 07 jari 110         deltaGraphCheckBox.setSelected(false);
2 26 Feb 07 jari 111     }
2 26 Feb 07 jari 112     
2 26 Feb 07 jari 113     
2 26 Feb 07 jari 114     /**
2 26 Feb 07 jari 115      * Shows the dialog.
2 26 Feb 07 jari 116      */
2 26 Feb 07 jari 117     public int showModal() {
2 26 Feb 07 jari 118         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 119         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 120         show();
2 26 Feb 07 jari 121         return result;
2 26 Feb 07 jari 122     }
2 26 Feb 07 jari 123     
2 26 Feb 07 jari 124     
2 26 Feb 07 jari 125     /**
2 26 Feb 07 jari 126      * The class to listen to the dialog and check boxes items events.
2 26 Feb 07 jari 127      */
2 26 Feb 07 jari 128     private class Listener extends DialogListener implements ItemListener {
2 26 Feb 07 jari 129         
2 26 Feb 07 jari 130         public void actionPerformed(ActionEvent e) {
2 26 Feb 07 jari 131             String command = e.getActionCommand();
2 26 Feb 07 jari 132             if (command.equals("ok-command")) {
2 26 Feb 07 jari 133                 if(!deltaGraphCheckBox.isSelected()) {
2 26 Feb 07 jari 134                     if(validateValue(deltaField.getText())) {
2 26 Feb 07 jari 135                         result = JOptionPane.OK_OPTION;
2 26 Feb 07 jari 136                         dispose();
2 26 Feb 07 jari 137                     }
2 26 Feb 07 jari 138                 } else {
2 26 Feb 07 jari 139                     result = JOptionPane.OK_OPTION;
2 26 Feb 07 jari 140                     dispose();
2 26 Feb 07 jari 141                 }                
2 26 Feb 07 jari 142             } else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 143                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 144                 dispose();
2 26 Feb 07 jari 145             }
2 26 Feb 07 jari 146             else if (command.equals("reset-command")){
2 26 Feb 07 jari 147                 resetControls();
2 26 Feb 07 jari 148                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 149                 return;
2 26 Feb 07 jari 150             }
2 26 Feb 07 jari 151             else if (command.equals("info-command")){
2 26 Feb 07 jari 152                 HelpWindow hw = new HelpWindow(SAMScriptDeltaValueInitDialog.this, "SAM Script Delta Dialog");
2 26 Feb 07 jari 153                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 154                 if(hw.getWindowContent()){
2 26 Feb 07 jari 155                     hw.setSize(450,600);
2 26 Feb 07 jari 156                     hw.setLocation();
2 26 Feb 07 jari 157                     hw.show();
2 26 Feb 07 jari 158                     return;
2 26 Feb 07 jari 159                 }
2 26 Feb 07 jari 160                 else {
2 26 Feb 07 jari 161                     hw.setVisible(false);
2 26 Feb 07 jari 162                     hw.dispose();
2 26 Feb 07 jari 163                     return;
2 26 Feb 07 jari 164                 }
2 26 Feb 07 jari 165             }
2 26 Feb 07 jari 166         }
2 26 Feb 07 jari 167         
2 26 Feb 07 jari 168         public void itemStateChanged(ItemEvent e) {
2 26 Feb 07 jari 169             deltaLabel.setEnabled(!deltaGraphCheckBox.isSelected());
2 26 Feb 07 jari 170             deltaField.setEnabled(!deltaGraphCheckBox.isSelected());
2 26 Feb 07 jari 171         }
2 26 Feb 07 jari 172         
2 26 Feb 07 jari 173         public void windowClosing(WindowEvent e) {
2 26 Feb 07 jari 174             result = JOptionPane.CLOSED_OPTION;
2 26 Feb 07 jari 175             dispose();
2 26 Feb 07 jari 176         }
2 26 Feb 07 jari 177     }
2 26 Feb 07 jari 178     
2 26 Feb 07 jari 179     public static void main(String [] args) {
2 26 Feb 07 jari 180         SAMScriptDeltaValueInitDialog dialog = new SAMScriptDeltaValueInitDialog(new JFrame());
2 26 Feb 07 jari 181         dialog.showModal();
2 26 Feb 07 jari 182     }
2 26 Feb 07 jari 183 }