2 |
26 Feb 07 |
jari |
1 |
/* |
2 |
26 Feb 07 |
jari |
Copyright @ 1999-2004, The Institute for Genomic Research (TIGR). |
2 |
26 Feb 07 |
jari |
All rights reserved. |
2 |
26 Feb 07 |
jari |
4 |
*/ |
2 |
26 Feb 07 |
jari |
5 |
/* |
2 |
26 Feb 07 |
jari |
* ScriptInitDialog.java |
2 |
26 Feb 07 |
jari |
7 |
* |
2 |
26 Feb 07 |
jari |
* Created on February 28, 2004, 12:38 AM |
2 |
26 Feb 07 |
jari |
9 |
*/ |
2 |
26 Feb 07 |
jari |
10 |
|
2 |
26 Feb 07 |
jari |
11 |
package org.tigr.microarray.mev.script.scriptGUI; |
2 |
26 Feb 07 |
jari |
12 |
|
2 |
26 Feb 07 |
jari |
13 |
import java.awt.Color; |
2 |
26 Feb 07 |
jari |
14 |
import java.awt.Dimension; |
2 |
26 Feb 07 |
jari |
15 |
import java.awt.GridBagConstraints; |
2 |
26 Feb 07 |
jari |
16 |
import java.awt.GridBagLayout; |
2 |
26 Feb 07 |
jari |
17 |
import java.awt.Insets; |
2 |
26 Feb 07 |
jari |
18 |
import java.awt.Toolkit; |
2 |
26 Feb 07 |
jari |
19 |
import java.awt.event.ActionEvent; |
2 |
26 Feb 07 |
jari |
20 |
import java.awt.event.WindowEvent; |
2 |
26 Feb 07 |
jari |
21 |
import java.text.DateFormat; |
2 |
26 Feb 07 |
jari |
22 |
import java.util.Date; |
2 |
26 Feb 07 |
jari |
23 |
import java.util.TimeZone; |
2 |
26 Feb 07 |
jari |
24 |
|
2 |
26 Feb 07 |
jari |
25 |
import javax.swing.BorderFactory; |
2 |
26 Feb 07 |
jari |
26 |
import javax.swing.JFrame; |
2 |
26 Feb 07 |
jari |
27 |
import javax.swing.JLabel; |
2 |
26 Feb 07 |
jari |
28 |
import javax.swing.JOptionPane; |
2 |
26 Feb 07 |
jari |
29 |
import javax.swing.JPanel; |
2 |
26 Feb 07 |
jari |
30 |
import javax.swing.JScrollPane; |
2 |
26 Feb 07 |
jari |
31 |
import javax.swing.JTextArea; |
2 |
26 Feb 07 |
jari |
32 |
import javax.swing.JTextField; |
2 |
26 Feb 07 |
jari |
33 |
import javax.swing.SwingConstants; |
2 |
26 Feb 07 |
jari |
34 |
import javax.swing.text.BadLocationException; |
2 |
26 Feb 07 |
jari |
35 |
import javax.swing.text.Document; |
2 |
26 Feb 07 |
jari |
36 |
|
2 |
26 Feb 07 |
jari |
37 |
import org.tigr.microarray.mev.cluster.gui.impl.dialogs.AlgorithmDialog; |
2 |
26 Feb 07 |
jari |
38 |
import org.tigr.microarray.mev.cluster.gui.impl.dialogs.DialogListener; |
2 |
26 Feb 07 |
jari |
39 |
import org.tigr.microarray.mev.cluster.gui.impl.dialogs.ParameterPanel; |
2 |
26 Feb 07 |
jari |
40 |
import org.tigr.microarray.mev.cluster.gui.impl.dialogs.dialogHelpUtil.HelpWindow; |
2 |
26 Feb 07 |
jari |
41 |
import org.tigr.microarray.mev.script.util.ScriptConstants; |
2 |
26 Feb 07 |
jari |
/** The ScriptAttributeDialog permits the selection of basic script attributes. |
2 |
26 Feb 07 |
jari |
43 |
* |
2 |
26 Feb 07 |
jari |
* @author braisted |
2 |
26 Feb 07 |
jari |
45 |
*/ |
2 |
26 Feb 07 |
jari |
46 |
public class ScriptAttributeDialog extends AlgorithmDialog { |
2 |
26 Feb 07 |
jari |
47 |
|
2 |
26 Feb 07 |
jari |
48 |
private int result = JOptionPane.CANCEL_OPTION; |
2 |
26 Feb 07 |
jari |
49 |
private JTextField dateField; |
2 |
26 Feb 07 |
jari |
50 |
private JTextField nameField; |
2 |
26 Feb 07 |
jari |
51 |
private JTextArea descriptionArea; |
2 |
26 Feb 07 |
jari |
52 |
private String dateString; |
2 |
26 Feb 07 |
jari |
53 |
|
2 |
26 Feb 07 |
jari |
/** Creates a new instance of ScriptInitDialog */ |
2 |
26 Feb 07 |
jari |
55 |
public ScriptAttributeDialog() { |
2 |
26 Feb 07 |
jari |
56 |
super(new JFrame(), "Script Attribute Input", true); |
2 |
26 Feb 07 |
jari |
57 |
|
2 |
26 Feb 07 |
jari |
58 |
JLabel dateLabel = new JLabel("Creation Date: "); |
2 |
26 Feb 07 |
jari |
59 |
|
2 |
26 Feb 07 |
jari |
60 |
Date date = new Date(System.currentTimeMillis()); |
2 |
26 Feb 07 |
jari |
61 |
TimeZone tz = TimeZone.getDefault(); |
2 |
26 Feb 07 |
jari |
62 |
DateFormat format = DateFormat.getDateTimeInstance(); |
2 |
26 Feb 07 |
jari |
63 |
format.setTimeZone(tz); |
2 |
26 Feb 07 |
jari |
64 |
dateString = format.format(date); |
2 |
26 Feb 07 |
jari |
65 |
|
2 |
26 Feb 07 |
jari |
66 |
dateLabel.setHorizontalAlignment(SwingConstants.RIGHT); |
2 |
26 Feb 07 |
jari |
67 |
dateField = new JTextField(dateString, 20); |
2 |
26 Feb 07 |
jari |
68 |
|
2 |
26 Feb 07 |
jari |
69 |
JLabel nameLabel = new JLabel("Script Name: "); |
2 |
26 Feb 07 |
jari |
70 |
nameLabel.setHorizontalAlignment(SwingConstants.RIGHT); |
2 |
26 Feb 07 |
jari |
71 |
nameField = new JTextField(20); |
2 |
26 Feb 07 |
jari |
72 |
|
2 |
26 Feb 07 |
jari |
73 |
JLabel descLabel = new JLabel("Description: "); |
2 |
26 Feb 07 |
jari |
74 |
descLabel.setVerticalAlignment(SwingConstants.TOP); |
2 |
26 Feb 07 |
jari |
75 |
descLabel.setHorizontalAlignment(SwingConstants.RIGHT); |
2 |
26 Feb 07 |
jari |
76 |
descriptionArea = new JTextArea(10, 25); |
2 |
26 Feb 07 |
jari |
77 |
JScrollPane pane = new JScrollPane(descriptionArea); |
2 |
26 Feb 07 |
jari |
78 |
pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); |
2 |
26 Feb 07 |
jari |
//descriptionArea.setLineWrap(true); |
2 |
26 Feb 07 |
jari |
80 |
descriptionArea.setWrapStyleWord(true); |
2 |
26 Feb 07 |
jari |
81 |
|
2 |
26 Feb 07 |
jari |
82 |
ParameterPanel parameterPanel = new ParameterPanel("Script Attributes"); |
2 |
26 Feb 07 |
jari |
83 |
parameterPanel.setLayout(new GridBagLayout()); |
2 |
26 Feb 07 |
jari |
84 |
parameterPanel.add(dateLabel, new GridBagConstraints(0,0,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,10,0),0,0)); |
2 |
26 Feb 07 |
jari |
85 |
parameterPanel.add(nameLabel, new GridBagConstraints(0,1,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,10,0),0,0)); |
2 |
26 Feb 07 |
jari |
86 |
parameterPanel.add(descLabel, new GridBagConstraints(0,2,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,0,0),0,0)); |
2 |
26 Feb 07 |
jari |
87 |
parameterPanel.add(dateField, new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.WEST,GridBagConstraints.VERTICAL, new Insets(0,0,10,0),0,0)); |
2 |
26 Feb 07 |
jari |
88 |
parameterPanel.add(nameField, new GridBagConstraints(1,1,1,1,0,0,GridBagConstraints.WEST,GridBagConstraints.VERTICAL, new Insets(0,0,10,0),0,0)); |
2 |
26 Feb 07 |
jari |
89 |
parameterPanel.add(pane, new GridBagConstraints(1,2,1,1,0,0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(0,0,0,0),0,0)); |
2 |
26 Feb 07 |
jari |
90 |
|
2 |
26 Feb 07 |
jari |
91 |
JPanel dialogPanel = new JPanel(new GridBagLayout()); |
2 |
26 Feb 07 |
jari |
92 |
dialogPanel.setBackground(Color.white); |
2 |
26 Feb 07 |
jari |
93 |
dialogPanel.setBorder(BorderFactory.createLineBorder(Color.black)); |
2 |
26 Feb 07 |
jari |
94 |
|
2 |
26 Feb 07 |
jari |
95 |
dialogPanel.add(parameterPanel, new GridBagConstraints(0,0,1,1,1.0,1.0,GridBagConstraints.CENTER,GridBagConstraints.BOTH, new Insets(5,5,5,5),0,0)); |
2 |
26 Feb 07 |
jari |
96 |
|
2 |
26 Feb 07 |
jari |
97 |
this.addContent(dialogPanel); |
2 |
26 Feb 07 |
jari |
98 |
this.setActionListeners(new Listener()); |
2 |
26 Feb 07 |
jari |
99 |
pack(); |
2 |
26 Feb 07 |
jari |
100 |
|
2 |
26 Feb 07 |
jari |
101 |
nameField.requestFocus(); |
2 |
26 Feb 07 |
jari |
102 |
nameField.selectAll(); |
2 |
26 Feb 07 |
jari |
103 |
} |
2 |
26 Feb 07 |
jari |
104 |
|
2 |
26 Feb 07 |
jari |
105 |
|
2 |
26 Feb 07 |
jari |
/** Creates a new instance of ScriptInitDialog */ |
2 |
26 Feb 07 |
jari |
107 |
public ScriptAttributeDialog(int id, String name, String description) { |
2 |
26 Feb 07 |
jari |
108 |
super(new JFrame(), "Script Attribute Modification", true); |
2 |
26 Feb 07 |
jari |
109 |
|
2 |
26 Feb 07 |
jari |
110 |
dateField = new JTextField(String.valueOf(id)); |
2 |
26 Feb 07 |
jari |
111 |
dateField.setEditable(false); |
2 |
26 Feb 07 |
jari |
112 |
} |
2 |
26 Feb 07 |
jari |
113 |
|
2 |
26 Feb 07 |
jari |
114 |
/** |
2 |
26 Feb 07 |
jari |
* 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 |
private void resetControls() { |
2 |
26 Feb 07 |
jari |
125 |
dateField.setText(dateString); |
2 |
26 Feb 07 |
jari |
126 |
nameField.setText(""); |
2 |
26 Feb 07 |
jari |
127 |
descriptionArea.setText(""); |
2 |
26 Feb 07 |
jari |
128 |
nameField.requestFocus(); |
2 |
26 Feb 07 |
jari |
129 |
nameField.selectAll(); |
2 |
26 Feb 07 |
jari |
130 |
} |
2 |
26 Feb 07 |
jari |
131 |
|
2 |
26 Feb 07 |
jari |
/** Returns the creation date |
2 |
26 Feb 07 |
jari |
133 |
*/ |
2 |
26 Feb 07 |
jari |
134 |
public String getDate() { |
2 |
26 Feb 07 |
jari |
135 |
return dateField.getText(); |
2 |
26 Feb 07 |
jari |
136 |
} |
2 |
26 Feb 07 |
jari |
137 |
|
2 |
26 Feb 07 |
jari |
138 |
|
2 |
26 Feb 07 |
jari |
/** returns the script name |
2 |
26 Feb 07 |
jari |
140 |
*/ |
2 |
26 Feb 07 |
jari |
141 |
public String getName() { |
2 |
26 Feb 07 |
jari |
142 |
return nameField.getText(); |
2 |
26 Feb 07 |
jari |
143 |
} |
2 |
26 Feb 07 |
jari |
144 |
|
2 |
26 Feb 07 |
jari |
145 |
|
2 |
26 Feb 07 |
jari |
/** returns a description in a format ready for inclusion |
2 |
26 Feb 07 |
jari |
* in the XML. |
2 |
26 Feb 07 |
jari |
148 |
*/ |
2 |
26 Feb 07 |
jari |
149 |
public String getFormattedDescription() { |
2 |
26 Feb 07 |
jari |
150 |
String text = descriptionArea.getText(); |
2 |
26 Feb 07 |
jari |
151 |
|
2 |
26 Feb 07 |
jari |
//Until we enforce scrict format or wrapping we |
2 |
26 Feb 07 |
jari |
// just return the text as written. |
2 |
26 Feb 07 |
jari |
154 |
|
2 |
26 Feb 07 |
jari |
155 |
String formatText = "", line; |
2 |
26 Feb 07 |
jari |
156 |
int lineCount = descriptionArea.getLineCount(); |
2 |
26 Feb 07 |
jari |
157 |
|
2 |
26 Feb 07 |
jari |
158 |
int startOffset, endOffset; |
2 |
26 Feb 07 |
jari |
159 |
|
2 |
26 Feb 07 |
jari |
160 |
if(lineCount < 1) |
2 |
26 Feb 07 |
jari |
161 |
return null; |
2 |
26 Feb 07 |
jari |
162 |
|
2 |
26 Feb 07 |
jari |
163 |
Document doc = descriptionArea.getDocument(); |
2 |
26 Feb 07 |
jari |
164 |
|
2 |
26 Feb 07 |
jari |
165 |
try { |
2 |
26 Feb 07 |
jari |
166 |
for(int i = 0; i < lineCount; i++) { |
2 |
26 Feb 07 |
jari |
167 |
startOffset = descriptionArea.getLineStartOffset(i); |
2 |
26 Feb 07 |
jari |
168 |
endOffset = descriptionArea.getLineEndOffset(i); |
2 |
26 Feb 07 |
jari |
169 |
line = doc.getText(startOffset, (endOffset-startOffset)); |
2 |
26 Feb 07 |
jari |
170 |
if(i>0) |
2 |
26 Feb 07 |
jari |
171 |
formatText += ScriptConstants.MEV_COMMENT_INDENT; |
2 |
26 Feb 07 |
jari |
172 |
formatText += line; |
2 |
26 Feb 07 |
jari |
173 |
} |
2 |
26 Feb 07 |
jari |
174 |
} catch (BadLocationException ble) { |
2 |
26 Feb 07 |
jari |
175 |
return null; |
2 |
26 Feb 07 |
jari |
176 |
} |
2 |
26 Feb 07 |
jari |
177 |
return formatText; |
2 |
26 Feb 07 |
jari |
178 |
} |
2 |
26 Feb 07 |
jari |
179 |
|
2 |
26 Feb 07 |
jari |
/** Returns the description |
2 |
26 Feb 07 |
jari |
181 |
*/ |
2 |
26 Feb 07 |
jari |
182 |
public String getDescription() { |
2 |
26 Feb 07 |
jari |
183 |
return this.descriptionArea.getText(); |
2 |
26 Feb 07 |
jari |
184 |
} |
2 |
26 Feb 07 |
jari |
185 |
|
2 |
26 Feb 07 |
jari |
186 |
|
2 |
26 Feb 07 |
jari |
187 |
|
2 |
26 Feb 07 |
jari |
188 |
/** |
2 |
26 Feb 07 |
jari |
* The class to listen to the dialog events. |
2 |
26 Feb 07 |
jari |
190 |
*/ |
2 |
26 Feb 07 |
jari |
191 |
private class Listener extends DialogListener { |
2 |
26 Feb 07 |
jari |
192 |
|
2 |
26 Feb 07 |
jari |
193 |
public void actionPerformed(ActionEvent e) { |
2 |
26 Feb 07 |
jari |
194 |
String command = e.getActionCommand(); |
2 |
26 Feb 07 |
jari |
195 |
if (command.equals("ok-command")) { |
2 |
26 Feb 07 |
jari |
196 |
result = JOptionPane.OK_OPTION; |
2 |
26 Feb 07 |
jari |
197 |
dispose(); |
2 |
26 Feb 07 |
jari |
198 |
} else if (command.equals("cancel-command")) { |
2 |
26 Feb 07 |
jari |
199 |
result = JOptionPane.CANCEL_OPTION; |
2 |
26 Feb 07 |
jari |
200 |
dispose(); |
2 |
26 Feb 07 |
jari |
201 |
}else if (command.equals("reset-command")){ |
2 |
26 Feb 07 |
jari |
202 |
resetControls(); |
2 |
26 Feb 07 |
jari |
203 |
}else if(command.equals("info-command")){ |
2 |
26 Feb 07 |
jari |
204 |
HelpWindow helpWindow = new HelpWindow(ScriptAttributeDialog.this, "Script Attribute Dialog"); |
2 |
26 Feb 07 |
jari |
205 |
if(helpWindow.getWindowContent()){ |
2 |
26 Feb 07 |
jari |
206 |
helpWindow.setSize(450, 600); |
2 |
26 Feb 07 |
jari |
207 |
helpWindow.setLocation(); |
2 |
26 Feb 07 |
jari |
208 |
helpWindow.show(); |
2 |
26 Feb 07 |
jari |
209 |
} |
2 |
26 Feb 07 |
jari |
210 |
else{ |
2 |
26 Feb 07 |
jari |
211 |
helpWindow.dispose(); |
2 |
26 Feb 07 |
jari |
212 |
} |
2 |
26 Feb 07 |
jari |
213 |
} |
2 |
26 Feb 07 |
jari |
214 |
} |
2 |
26 Feb 07 |
jari |
215 |
|
2 |
26 Feb 07 |
jari |
216 |
public void windowClosing(WindowEvent e) { |
2 |
26 Feb 07 |
jari |
217 |
result = JOptionPane.CLOSED_OPTION; |
2 |
26 Feb 07 |
jari |
218 |
dispose(); |
2 |
26 Feb 07 |
jari |
219 |
} |
2 |
26 Feb 07 |
jari |
220 |
|
2 |
26 Feb 07 |
jari |
221 |
} |
2 |
26 Feb 07 |
jari |
222 |
} |