mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/sota/SOTAConfigDialog.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: SOTAConfigDialog.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.4 $
2 26 Feb 07 jari 8  * $Date: 2006/04/20 18:55:04 $
2 26 Feb 07 jari 9  * $Author: eleanorahowe $
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.sota;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import java.awt.BorderLayout;
2 26 Feb 07 jari 15 import java.awt.Color;
2 26 Feb 07 jari 16 import java.awt.Dimension;
2 26 Feb 07 jari 17 import java.awt.Frame;
2 26 Feb 07 jari 18 import java.awt.GridLayout;
2 26 Feb 07 jari 19 import java.awt.Toolkit;
2 26 Feb 07 jari 20 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 21 import java.awt.event.WindowEvent;
2 26 Feb 07 jari 22
2 26 Feb 07 jari 23 import javax.swing.BorderFactory;
2 26 Feb 07 jari 24 import javax.swing.JButton;
2 26 Feb 07 jari 25 import javax.swing.JLabel;
2 26 Feb 07 jari 26 import javax.swing.JOptionPane;
2 26 Feb 07 jari 27 import javax.swing.JPanel;
2 26 Feb 07 jari 28 import javax.swing.JTextField;
2 26 Feb 07 jari 29 import javax.swing.border.EmptyBorder;
2 26 Feb 07 jari 30
2 26 Feb 07 jari 31 import org.tigr.microarray.mev.cluster.gui.impl.GUIFactory;
2 26 Feb 07 jari 32 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog;
2 26 Feb 07 jari 33 import org.tigr.microarray.mev.cluster.gui.impl.dialogs.DialogListener;
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 SOTAConfigDialog extends AlgorithmDialog {
2 26 Feb 07 jari 37     
2 26 Feb 07 jari 38     private int result;
2 26 Feb 07 jari 39     private JTextField zeroTextField;
2 26 Feb 07 jari 40     private JTextField minTextField;
2 26 Feb 07 jari 41     private JTextField maxTextField;
2 26 Feb 07 jari 42     private float zThr;
2 26 Feb 07 jari 43     private int minPixDist;
2 26 Feb 07 jari 44     private int maxPixDist;
2 26 Feb 07 jari 45     
2 26 Feb 07 jari 46     /**
2 26 Feb 07 jari 47      * Constructs the dialog.
2 26 Feb 07 jari 48      */
2 26 Feb 07 jari 49     public SOTAConfigDialog(Frame parent, float zeroThreshold, int minPixelDistance, int maxPixelDistance) {
2 26 Feb 07 jari 50         super(parent, "Tree Configuration", true);
2 26 Feb 07 jari 51         zThr = zeroThreshold;
2 26 Feb 07 jari 52         minPixDist = minPixelDistance;
2 26 Feb 07 jari 53         maxPixDist = maxPixelDistance;
2 26 Feb 07 jari 54         
2 26 Feb 07 jari 55         Listener listener = new Listener();
2 26 Feb 07 jari 56         addWindowListener(listener);
2 26 Feb 07 jari 57         
2 26 Feb 07 jari 58         JPanel parameters1 = new JPanel(new GridLayout(0, 1));
2 26 Feb 07 jari 59         parameters1.setBorder(new EmptyBorder(10, 5, 10, 0));
2 26 Feb 07 jari 60         parameters1.setBackground(Color.white);
2 26 Feb 07 jari 61         parameters1.add(new JLabel("Distance threshold"));
2 26 Feb 07 jari 62         parameters1.add(new JLabel("Minimum pixel distance"));
2 26 Feb 07 jari 63         parameters1.add(new JLabel("Maximum pixel distance"));
2 26 Feb 07 jari 64         
2 26 Feb 07 jari 65         JPanel parameters2 = new JPanel(new GridLayout(0, 1));
2 26 Feb 07 jari 66         parameters2.setBorder(new EmptyBorder(10, 5, 10, 0));
2 26 Feb 07 jari 67         parameters2.setBackground(Color.white);
2 26 Feb 07 jari 68         String z = String.valueOf(zeroThreshold);
2 26 Feb 07 jari 69         z = z.substring(0, Math.min(5, z.length()));
2 26 Feb 07 jari 70         zeroTextField = new JTextField(z, 4);
2 26 Feb 07 jari 71         parameters2.add(zeroTextField, BorderLayout.EAST);
2 26 Feb 07 jari 72         minTextField = new JTextField(String.valueOf(minPixelDistance), 4);
2 26 Feb 07 jari 73         parameters2.add(minTextField, BorderLayout.EAST);
2 26 Feb 07 jari 74         maxTextField = new JTextField(String.valueOf(maxPixelDistance), 4);
2 26 Feb 07 jari 75         parameters2.add(maxTextField, BorderLayout.EAST);
2 26 Feb 07 jari 76         
2 26 Feb 07 jari 77         JButton button1 = new JButton("OK");
2 26 Feb 07 jari 78         button1.setActionCommand("ok-command");
2 26 Feb 07 jari 79         button1.addActionListener(listener);
2 26 Feb 07 jari 80         button1.setFocusPainted(false);
2 26 Feb 07 jari 81         JButton button2 = new JButton("Cancel");
2 26 Feb 07 jari 82         button2.setActionCommand("cancel-command");
2 26 Feb 07 jari 83         button2.addActionListener(listener);
2 26 Feb 07 jari 84         button2.setFocusPainted(false);
2 26 Feb 07 jari 85         
2 26 Feb 07 jari 86         JPanel buttons = new JPanel(new GridLayout(0, 2));
2 26 Feb 07 jari 87         buttons.add(button1);
2 26 Feb 07 jari 88         buttons.add(button2);
2 26 Feb 07 jari 89         
2 26 Feb 07 jari 90         JPanel panel3 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 91         panel3.setForeground(Color.white);
2 26 Feb 07 jari 92         panel3.setBorder(BorderFactory.createLineBorder(Color.gray));
2 26 Feb 07 jari 93         
2 26 Feb 07 jari 94         JLabel imageControl2 = new JLabel(GUIFactory.getIcon("dialog_button_bar.gif"));
2 26 Feb 07 jari 95         panel3.setBackground(Color.white);
2 26 Feb 07 jari 96         panel3.add(parameters1, BorderLayout.WEST);
2 26 Feb 07 jari 97         panel3.add(parameters2, BorderLayout.CENTER);
2 26 Feb 07 jari 98         panel3.add(imageControl2, BorderLayout.EAST);
2 26 Feb 07 jari 99         
2 26 Feb 07 jari 100         JPanel panel1 = new JPanel(new BorderLayout());
2 26 Feb 07 jari 101         //  panel1.setBorder(new EmptyBorder(10, 10, 10, 10));
2 26 Feb 07 jari 102         panel1.add(panel3, BorderLayout.NORTH);
2 26 Feb 07 jari 103         addContent(panel1);
2 26 Feb 07 jari 104         setActionListeners(listener);
2 26 Feb 07 jari 105         this.pack();
2 26 Feb 07 jari 106         setResizable(false);
2 26 Feb 07 jari 107     }
2 26 Feb 07 jari 108     
2 26 Feb 07 jari 109     /**
2 26 Feb 07 jari 110      * Show the dialog in screen's center.
2 26 Feb 07 jari 111      */
2 26 Feb 07 jari 112     public int showModal() {
2 26 Feb 07 jari 113         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 114         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 115         show();
2 26 Feb 07 jari 116         return result;
2 26 Feb 07 jari 117     }
2 26 Feb 07 jari 118     
2 26 Feb 07 jari 119     /**
2 26 Feb 07 jari 120      * Returns choosed zero threshold value.
2 26 Feb 07 jari 121      */
2 26 Feb 07 jari 122     public float getZeroThreshold() {
2 26 Feb 07 jari 123         return Float.parseFloat(zeroTextField.getText());
2 26 Feb 07 jari 124     }
2 26 Feb 07 jari 125     
2 26 Feb 07 jari 126     /**
2 26 Feb 07 jari 127      * Returns choosed min distance value.
2 26 Feb 07 jari 128      */
2 26 Feb 07 jari 129     public int getMinDistance() {
2 26 Feb 07 jari 130         return Integer.parseInt(minTextField.getText());
2 26 Feb 07 jari 131     }
2 26 Feb 07 jari 132     
2 26 Feb 07 jari 133     /**
2 26 Feb 07 jari 134      * Returns choosed max distance value.
2 26 Feb 07 jari 135      */
2 26 Feb 07 jari 136     public int getMaxDistance() {
2 26 Feb 07 jari 137         return Integer.parseInt(maxTextField.getText());
2 26 Feb 07 jari 138     }
2 26 Feb 07 jari 139     
2 26 Feb 07 jari 140     /**
2 26 Feb 07 jari 141      * The class to listen to the dialog events.
2 26 Feb 07 jari 142      */
2 26 Feb 07 jari 143     private class Listener extends DialogListener {
2 26 Feb 07 jari 144         
2 26 Feb 07 jari 145         public void actionPerformed(ActionEvent e) {
2 26 Feb 07 jari 146             String command = e.getActionCommand();
2 26 Feb 07 jari 147             if (command.equals("ok-command")) {
2 26 Feb 07 jari 148                 try {
2 26 Feb 07 jari 149                     Float.parseFloat(zeroTextField.getText());
2 26 Feb 07 jari 150                     Integer.parseInt(minTextField.getText());
2 26 Feb 07 jari 151                     Integer.parseInt(maxTextField.getText());
2 26 Feb 07 jari 152                     result = JOptionPane.OK_OPTION;
2 26 Feb 07 jari 153                     dispose();
2 26 Feb 07 jari 154                 } catch (Exception exc) {
2 26 Feb 07 jari 155                     result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 156                 }
2 26 Feb 07 jari 157             } else if (command.equals("cancel-command")) {
2 26 Feb 07 jari 158                 result = JOptionPane.CANCEL_OPTION;
2 26 Feb 07 jari 159                 dispose();
2 26 Feb 07 jari 160             } else if(command.equals("reset-command")){
2 26 Feb 07 jari 161                 //reset to inital values
2 26 Feb 07 jari 162                 zeroTextField.setText(String.valueOf(zThr));
2 26 Feb 07 jari 163                 minTextField.setText(String.valueOf(minPixDist));
2 26 Feb 07 jari 164                 maxTextField.setText(String.valueOf(maxPixDist));                
2 26 Feb 07 jari 165             } else if(command.equals("info-command")){
2 26 Feb 07 jari 166                 HelpWindow helpWindow = new HelpWindow(SOTAConfigDialog.this, "SOTA Tree Properties");
2 26 Feb 07 jari 167                 if(helpWindow.getWindowContent()){
2 26 Feb 07 jari 168                     helpWindow.setSize(450, 500);
2 26 Feb 07 jari 169                     helpWindow.setLocation();
2 26 Feb 07 jari 170                     helpWindow.show();
2 26 Feb 07 jari 171                 }
2 26 Feb 07 jari 172                 else{
2 26 Feb 07 jari 173                     helpWindow.dispose();
2 26 Feb 07 jari 174                 }
2 26 Feb 07 jari 175             }
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 void windowClosing(WindowEvent e) {
2 26 Feb 07 jari 180             result = JOptionPane.CLOSED_OPTION;
2 26 Feb 07 jari 181             dispose();
2 26 Feb 07 jari 182         }
2 26 Feb 07 jari 183     }
2 26 Feb 07 jari 184     
2 26 Feb 07 jari 185     public static void main(String [] args){
2 26 Feb 07 jari 186         SOTAConfigDialog d = new SOTAConfigDialog(new Frame(), 2,3,4);
2 26 Feb 07 jari 187         d.show();
2 26 Feb 07 jari 188     }
2 26 Feb 07 jari 189 }