mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/gdm/GDMInitDialog.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2003, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4 */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6 * $RCSfile: GDMInitDialog.java,v $
2 26 Feb 07 jari 7 * $Revision: 1.4 $
2 26 Feb 07 jari 8 * $Date: 2005/03/10 20:22:00 $
2 26 Feb 07 jari 9 * $Author: braistedj $
2 26 Feb 07 jari 10 * $State: Exp $
2 26 Feb 07 jari 11 */
2 26 Feb 07 jari 12 package org.tigr.microarray.mev.cluster.gui.impl.gdm;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import java.awt.Color;
2 26 Feb 07 jari 15 import java.awt.Dimension;
2 26 Feb 07 jari 16 import java.awt.Frame;
2 26 Feb 07 jari 17 import java.awt.GridBagConstraints;
2 26 Feb 07 jari 18 import java.awt.GridBagLayout;
2 26 Feb 07 jari 19 import java.awt.Insets;
2 26 Feb 07 jari 20 import java.awt.Toolkit;
2 26 Feb 07 jari 21 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 22 import java.awt.event.WindowEvent;
2 26 Feb 07 jari 23
2 26 Feb 07 jari 24 import javax.swing.ButtonGroup;
2 26 Feb 07 jari 25 import javax.swing.JDialog;
2 26 Feb 07 jari 26 import javax.swing.JLabel;
2 26 Feb 07 jari 27 import javax.swing.JOptionPane;
2 26 Feb 07 jari 28 import javax.swing.JRadioButton;
2 26 Feb 07 jari 29 import javax.swing.JTextField;
2 26 Feb 07 jari 30
2 26 Feb 07 jari 31 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog;
2 26 Feb 07 jari 32 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.DialogListener;
2 26 Feb 07 jari 33 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.ParameterPanel;
2 26 Feb 07 jari 34 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.dialogHelpUtil.HelpWindow;
2 26 Feb 07 jari 35
2 26 Feb 07 jari 36 public class GDMInitDialog extends AlgorithmDialog {
2 26 Feb 07 jari 37     private int result;
2 26 Feb 07 jari 38
2 26 Feb 07 jari 39     private JRadioButton genRadio;
2 26 Feb 07 jari 40     private JRadioButton expRadio;
2 26 Feb 07 jari 41     private JTextField textField;
2 26 Feb 07 jari 42     private JLabel displayLabel;
2 26 Feb 07 jari 43
2 26 Feb 07 jari 44   
2 26 Feb 07 jari 45     /**
2 26 Feb 07 jari 46      * Constructs a <code>GDMInitDialog</code> with default
2 26 Feb 07 jari 47      * initial parameters.
2 26 Feb 07 jari 48      */
2 26 Feb 07 jari 49     public GDMInitDialog(Frame parent, boolean useGenes) {
2 26 Feb 07 jari 50         super(parent, "Gene Distance Matrix Initialization", true);
2 26 Feb 07 jari 51       
2 26 Feb 07 jari 52         Listener listener = new Listener();
2 26 Feb 07 jari 53         addWindowListener(listener);
2 26 Feb 07 jari 54
2 26 Feb 07 jari 55         ParameterPanel parameters = new ParameterPanel();
2 26 Feb 07 jari 56         parameters.setLayout(new GridBagLayout());
2 26 Feb 07 jari 57
2 26 Feb 07 jari 58         GridBagConstraints gbc = new GridBagConstraints();
2 26 Feb 07 jari 59         gbc.anchor = GridBagConstraints.WEST;
2 26 Feb 07 jari 60
2 26 Feb 07 jari 61         gbc.insets = new Insets(0, 0, 0, 0);
2 26 Feb 07 jari 62         genRadio = new JRadioButton("Genes");
2 26 Feb 07 jari 63         genRadio.setBackground(Color.white);
2 26 Feb 07 jari 64         genRadio.setFocusPainted(false);
2 26 Feb 07 jari 65         gbc.gridx = 0; gbc.gridy = 4;
2 26 Feb 07 jari 66         parameters.add(genRadio, gbc);
2 26 Feb 07 jari 67
2 26 Feb 07 jari 68         expRadio = new JRadioButton("Samples");
2 26 Feb 07 jari 69         expRadio.setBackground(Color.white);
2 26 Feb 07 jari 70         expRadio.setFocusPainted(false);
2 26 Feb 07 jari 71         gbc.gridx = 1; gbc.gridy = 4;
2 26 Feb 07 jari 72         parameters.add(expRadio, gbc);
2 26 Feb 07 jari 73
2 26 Feb 07 jari 74         ButtonGroup bg = new ButtonGroup();
2 26 Feb 07 jari 75         bg.add(genRadio);
2 26 Feb 07 jari 76         bg.add(expRadio);
2 26 Feb 07 jari 77         
2 26 Feb 07 jari 78         genRadio.setActionCommand("gene-radio-command");
2 26 Feb 07 jari 79         genRadio.addActionListener(listener);
2 26 Feb 07 jari 80         expRadio.setActionCommand("gene-radio-command");
2 26 Feb 07 jari 81         expRadio.addActionListener(listener);        
2 26 Feb 07 jari 82         genRadio.setEnabled(useGenes);
2 26 Feb 07 jari 83         genRadio.setSelected(useGenes);
2 26 Feb 07 jari 84         expRadio.setEnabled(!useGenes);
2 26 Feb 07 jari 85         expRadio.setSelected(!useGenes);
2 26 Feb 07 jari 86
2 26 Feb 07 jari 87         gbc.gridx = 0; gbc.gridy = 10;
2 26 Feb 07 jari 88         displayLabel = new JLabel("  Display Interval  ");
2 26 Feb 07 jari 89   parameters.add(displayLabel, gbc);  
2 26 Feb 07 jari 90
2 26 Feb 07 jari 91   gbc.gridx = 1; gbc.gridy = 10;
2 26 Feb 07 jari 92   textField = new JTextField(String.valueOf(1), 7);
2 26 Feb 07 jari 93   parameters.add(textField, gbc);
2 26 Feb 07 jari 94
2 26 Feb 07 jari 95         this.addContent(parameters);
2 26 Feb 07 jari 96         this.setActionListeners(listener);
2 26 Feb 07 jari 97         pack();
2 26 Feb 07 jari 98     }
2 26 Feb 07 jari 99
2 26 Feb 07 jari 100     /**
2 26 Feb 07 jari 101      * Constructs a <code>GDMInitDialog</code> with default
2 26 Feb 07 jari 102      * initial parameters.
2 26 Feb 07 jari 103      */
2 26 Feb 07 jari 104     public GDMInitDialog(Frame parent) {
2 26 Feb 07 jari 105         super(parent, "Gene Distance Matrix Initialization", true);
2 26 Feb 07 jari 106
2 26 Feb 07 jari 107         Listener listener = new Listener();
2 26 Feb 07 jari 108         addWindowListener(listener);
2 26 Feb 07 jari 109
2 26 Feb 07 jari 110         ParameterPanel parameters = new ParameterPanel();
2 26 Feb 07 jari 111         parameters.setLayout(new GridBagLayout());
2 26 Feb 07 jari 112
2 26 Feb 07 jari 113         GridBagConstraints gbc = new GridBagConstraints();
2 26 Feb 07 jari 114         gbc.anchor = GridBagConstraints.WEST;
2 26 Feb 07 jari 115
2 26 Feb 07 jari 116         gbc.insets = new Insets(0, 0, 0, 0);
2 26 Feb 07 jari 117         genRadio = new JRadioButton("Genes");
2 26 Feb 07 jari 118         genRadio.setBackground(Color.white);
2 26 Feb 07 jari 119         genRadio.setFocusPainted(false);
2 26 Feb 07 jari 120         gbc.gridx = 0; gbc.gridy = 4;
2 26 Feb 07 jari 121         gbc.insets = new Insets(0, 0, 25, 20);
2 26 Feb 07 jari 122         parameters.add(genRadio, gbc);
2 26 Feb 07 jari 123
2 26 Feb 07 jari 124         expRadio = new JRadioButton("Samples");
2 26 Feb 07 jari 125         expRadio.setBackground(Color.white);
2 26 Feb 07 jari 126         expRadio.setFocusPainted(false);
2 26 Feb 07 jari 127         gbc.gridx = 1; gbc.gridy = 4;
2 26 Feb 07 jari 128         gbc.insets = new Insets(0, 20, 25, 0);
2 26 Feb 07 jari 129         parameters.add(expRadio, gbc);
2 26 Feb 07 jari 130
2 26 Feb 07 jari 131         ButtonGroup bg = new ButtonGroup();
2 26 Feb 07 jari 132         bg.add(genRadio);
2 26 Feb 07 jari 133         bg.add(expRadio);
2 26 Feb 07 jari 134         genRadio.setSelected(true);
2 26 Feb 07 jari 135         genRadio.setActionCommand("gene-radio-command");
2 26 Feb 07 jari 136         genRadio.addActionListener(listener);
2 26 Feb 07 jari 137         expRadio.setActionCommand("gene-radio-command");
2 26 Feb 07 jari 138         expRadio.addActionListener(listener);
2 26 Feb 07 jari 139
2 26 Feb 07 jari 140         
2 26 Feb 07 jari 141         gbc.gridx = 0; gbc.gridy = 10;
2 26 Feb 07 jari 142         displayLabel = new JLabel("  Display Interval  ");
2 26 Feb 07 jari 143   parameters.add( displayLabel, gbc);  
2 26 Feb 07 jari 144
2 26 Feb 07 jari 145   gbc.gridx = 1; gbc.gridy = 10;
2 26 Feb 07 jari 146   textField = new JTextField(String.valueOf(1), 7);
2 26 Feb 07 jari 147   parameters.add(textField, gbc);
2 26 Feb 07 jari 148
2 26 Feb 07 jari 149         this.addContent(parameters);
2 26 Feb 07 jari 150         this.setActionListeners(listener);
2 26 Feb 07 jari 151         pack();
2 26 Feb 07 jari 152     }
2 26 Feb 07 jari 153
2 26 Feb 07 jari 154     /**
2 26 Feb 07 jari 155      * Shows the dialog.
2 26 Feb 07 jari 156      */
2 26 Feb 07 jari 157     public int showModal() {
2 26 Feb 07 jari 158         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 159         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 160         show();
2 26 Feb 07 jari 161         return result;
2 26 Feb 07 jari 162     }
2 26 Feb 07 jari 163
2 26 Feb 07 jari 164     /**
2 26 Feb 07 jari 165      * Returns true if genes radio button was selected.
2 26 Feb 07 jari 166      */
2 26 Feb 07 jari 167     public boolean isUseGenes() {
2 26 Feb 07 jari 168         return genRadio.isSelected();
2 26 Feb 07 jari 169     }
2 26 Feb 07 jari 170
2 26 Feb 07 jari 171     /**
2 26 Feb 07 jari 172      * Set genes radio button 
2 26 Feb 07 jari 173      */
2 26 Feb 07 jari 174     public void setGeneSelected(boolean selected) {
2 26 Feb 07 jari 175         genRadio.setSelected(selected);
2 26 Feb 07 jari 176     }
2 26 Feb 07 jari 177
2 26 Feb 07 jari 178     /**
2 26 Feb 07 jari 179      * Set experiment radio button 
2 26 Feb 07 jari 180      */
2 26 Feb 07 jari 181     public void setExpSelected(boolean selected) {
2 26 Feb 07 jari 182         expRadio.setSelected(selected);
2 26 Feb 07 jari 183     }
2 26 Feb 07 jari 184
2 26 Feb 07 jari 185     public int getDisplayInterval () {
2 26 Feb 07 jari 186         return Integer.parseInt(textField.getText());
2 26 Feb 07 jari 187     }
2 26 Feb 07 jari 188
2 26 Feb 07 jari 189     
2 26 Feb 07 jari 190     public static void main (String [] args){
2 26 Feb 07 jari 191         GDMInitDialog dialog = new GDMInitDialog(new java.awt.Frame());
2 26 Feb 07 jari 192         dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
2 26 Feb 07 jari 193        dialog.showModal();
2 26 Feb 07 jari 194     }
2 26 Feb 07 jari 195     /**
2 26 Feb 07 jari 196      * The class to listen to the dialog events.
2 26 Feb 07 jari 197      */
2 26 Feb 07 jari 198     private class Listener extends DialogListener {
2 26 Feb 07 jari 199
2 26 Feb 07 jari 200         public void actionPerformed(ActionEvent e) {
2 26 Feb 07 jari 201             String command = e.getActionCommand();
2 26 Feb 07 jari 202             if (command.equals("gene-radio-command")) {
2 26 Feb 07 jari 203                 displayLabel.setEnabled(genRadio.isSelected());
2 26 Feb 07 jari 204                 textField.setEnabled(genRadio.isSelected());                    
2 26 Feb 07 jari 205             } else if (command.equals("ok-command")) {
2 26 Feb 07 jari 206                 try {
2 26 Feb 07 jari 207                     Integer.parseInt(textField.getText());
2 26 Feb 07 jari 208                     result = JOptionPane.OK_OPTION;  
2 26 Feb 07 jari 209                 } catch (Exception exception) {
2 26 Feb 07 jari 210                     result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 211                 }
2 26 Feb 07 jari 212                 dispose();
2 26 Feb 07 jari 213             } else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 214                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 215                 dispose();
2 26 Feb 07 jari 216             } else if (command.equals("reset-command")) {
2 26 Feb 07 jari 217                 if(GDMInitDialog.this.genRadio.isEnabled() && GDMInitDialog.this.expRadio.isEnabled())
2 26 Feb 07 jari 218                     GDMInitDialog.this.genRadio.setSelected(true);                    
2 26 Feb 07 jari 219                 GDMInitDialog.this.textField.setText("1");
2 26 Feb 07 jari 220             } else if (command.equals("info-command")) {
2 26 Feb 07 jari 221                 HelpWindow hw = new HelpWindow(GDMInitDialog.this, "GDM Initialization Dialog");
2 26 Feb 07 jari 222                 if(hw.getWindowContent()){
2 26 Feb 07 jari 223                     hw.setSize(450,650);
2 26 Feb 07 jari 224                     hw.setLocation();
2 26 Feb 07 jari 225                     hw.show();
2 26 Feb 07 jari 226                 }
2 26 Feb 07 jari 227                 else {
2 26 Feb 07 jari 228                     hw.setVisible(false);
2 26 Feb 07 jari 229                     hw.dispose();
2 26 Feb 07 jari 230                 }   
2 26 Feb 07 jari 231             }
2 26 Feb 07 jari 232         }
2 26 Feb 07 jari 233
2 26 Feb 07 jari 234         public void windowClosing(WindowEvent e) {
2 26 Feb 07 jari 235             result = JOptionPane.CLOSED_OPTION;
2 26 Feb 07 jari 236             dispose();
2 26 Feb 07 jari 237         }
2 26 Feb 07 jari 238     }
2 26 Feb 07 jari 239 }