]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/far/updateui/UpdateStepOne.java
Fixed grammar in text messages.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / far / updateui / UpdateStepOne.java
CommitLineData
5a24e806 1/** @file\r
2\r
3 Copyright (c) 2006, Intel Corporation\r
4 All rights reserved. This program and the accompanying materials\r
5 are licensed and made available under the terms and conditions of the BSD License\r
6 which accompanies this distribution. The full text of the license may be found at\r
7 http://opensource.org/licenses/bsd-license.php\r
8 \r
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11 \r
12 **/\r
13\r
14package org.tianocore.frameworkwizard.far.updateui;\r
15\r
16import java.awt.Dimension;\r
17import java.awt.Toolkit;\r
18import java.awt.event.MouseEvent;\r
19import java.awt.event.MouseListener;\r
20import java.io.File;\r
21import java.util.Vector;\r
1898a0c3 22import java.util.jar.JarFile;\r
5a24e806 23\r
24import javax.swing.JFileChooser;\r
25import javax.swing.JPanel;\r
26import javax.swing.JTextArea;\r
27import javax.swing.JButton;\r
28import javax.swing.JLabel;\r
29import javax.swing.JTextField;\r
30\r
31import org.tianocore.frameworkwizard.common.DataType;\r
32import org.tianocore.frameworkwizard.common.IFileFilter;\r
33import org.tianocore.frameworkwizard.common.Log;\r
34import org.tianocore.frameworkwizard.common.Tools;\r
35import org.tianocore.frameworkwizard.common.ui.IDialog;\r
36import org.tianocore.frameworkwizard.common.ui.IFrame;\r
37import org.tianocore.frameworkwizard.far.Far;\r
38import org.tianocore.frameworkwizard.far.FarIdentification;\r
2e39c718 39import org.tianocore.frameworkwizard.far.FarStringDefinition;\r
5a24e806 40import org.tianocore.frameworkwizard.workspace.Workspace;\r
41import org.tianocore.frameworkwizard.workspace.WorkspaceTools;\r
42\r
43import javax.swing.JScrollPane;\r
44import javax.swing.JList;\r
45\r
46public class UpdateStepOne extends IDialog implements MouseListener {\r
47\r
48 /**\r
49 * \r
50 */\r
51 private static final long serialVersionUID = 735554907464539931L;\r
52\r
53 private JPanel jContentPane = null;\r
54\r
55 private JTextArea jTextArea = null;\r
56\r
57 private JButton jButtonCancel = null;\r
58\r
59 private JButton jButtonNext = null;\r
60\r
61 private JLabel jLabel = null;\r
62\r
63 private JTextField jTextFieldFarFile = null;\r
64\r
65 private JButton jButtonBrowser = null;\r
66\r
67 private UpdateStepTwo stepTwo = null;\r
68\r
69 private Far far = null;\r
70\r
71 private Vector<FarIdentification> farVector = null;\r
72\r
73 private JLabel jLabel1 = null;\r
74\r
75 private JScrollPane jScrollPane = null;\r
76\r
77 private JList jListFarFromDb = null;\r
78\r
79 private File farFile = null;\r
80\r
81 public File getFarFile() {\r
82 return farFile;\r
83 }\r
84\r
85 /**\r
86 * This method initializes jTextArea \r
87 * \r
88 * @return javax.swing.JTextArea \r
89 */\r
90 private JTextArea getJTextArea() {\r
91 if (jTextArea == null) {\r
92 jTextArea = new JTextArea();\r
93 jTextArea.setBounds(new java.awt.Rectangle(30, 7, 642, 50));\r
94 jTextArea.setText("Step 1: Choose framework archive (FAR) file. \n");\r
95 jTextArea.setEditable(false);\r
96 }\r
97 return jTextArea;\r
98 }\r
99\r
100 /**\r
101 * This method initializes jButtonCancel \r
102 * \r
103 * @return javax.swing.JButton \r
104 */\r
105 private JButton getJButtonCancel() {\r
106 if (jButtonCancel == null) {\r
107 jButtonCancel = new JButton();\r
108 jButtonCancel.setBounds(new java.awt.Rectangle(570, 330, 90, 20));\r
109 jButtonCancel.setText("Cancel");\r
110 jButtonCancel.addMouseListener(this);\r
111 }\r
112 return jButtonCancel;\r
113 }\r
114\r
115 /**\r
116 * This method initializes jButtonNext \r
117 * \r
118 * @return javax.swing.JButton \r
119 */\r
120 private JButton getJButtonNext() {\r
121 if (jButtonNext == null) {\r
122 jButtonNext = new JButton();\r
123 jButtonNext.setBounds(new java.awt.Rectangle(470, 330, 90, 20));\r
124 jButtonNext.setText("Next");\r
125 jButtonNext.addMouseListener(this);\r
126 }\r
127 return jButtonNext;\r
128 }\r
129\r
130 /**\r
131 * This method initializes jTextField \r
132 * \r
133 * @return javax.swing.JTextField \r
134 */\r
135 private JTextField getJTextFieldFarFile() {\r
136 if (jTextFieldFarFile == null) {\r
137 jTextFieldFarFile = new JTextField();\r
ef6e2efe 138 jTextFieldFarFile.setBounds(new java.awt.Rectangle(130, 80, 436, 20));\r
5a24e806 139 }\r
140 return jTextFieldFarFile;\r
141 }\r
142\r
143 /**\r
144 * This method initializes jButton \r
145 * \r
146 * @return javax.swing.JButton \r
147 */\r
148 private JButton getJButtonBrowser() {\r
149 if (jButtonBrowser == null) {\r
150 jButtonBrowser = new JButton();\r
a45e9a40 151 jButtonBrowser.setBounds(new java.awt.Rectangle(570, 80, 100, 20));\r
5a24e806 152 jButtonBrowser.setText("Browser...");\r
153 jButtonBrowser.addMouseListener(this);\r
154 }\r
155 return jButtonBrowser;\r
156 }\r
157\r
158 /**\r
159 * This method initializes jScrollPane \r
160 * \r
161 * @return javax.swing.JScrollPane \r
162 */\r
163 private JScrollPane getJScrollPane() {\r
164 if (jScrollPane == null) {\r
165 jScrollPane = new JScrollPane();\r
a45e9a40 166 jScrollPane.setBounds(new java.awt.Rectangle(30, 135, 642, 160));\r
5a24e806 167 jScrollPane.setViewportView(getJListFarFromDb());\r
168 }\r
169 return jScrollPane;\r
170 }\r
171\r
172 /**\r
173 * This method initializes jListFarFromDb \r
174 * \r
175 * @return javax.swing.JList \r
176 */\r
177 private JList getJListFarFromDb() {\r
178 if (jListFarFromDb == null) {\r
179 jListFarFromDb = new JList();\r
180 WorkspaceTools wt = new WorkspaceTools();\r
181 farVector = wt.getAllFars();\r
182 jListFarFromDb.setListData(farVector);\r
ef6e2efe 183 jListFarFromDb.setSelectionMode(0);\r
5a24e806 184 }\r
185 return jListFarFromDb;\r
186 }\r
187\r
188 /**\r
189 * This is the default constructor\r
190 */\r
191 public UpdateStepOne(IFrame iFrame, boolean modal) {\r
192 super(iFrame, modal);\r
193 initialize();\r
194 }\r
195\r
196 /**\r
197 * This method initializes this\r
198 * \r
199 * @return void\r
200 */\r
201 private void initialize() {\r
202 this.setSize(700, 400);\r
203 this.setContentPane(getJContentPane());\r
2e39c718 204 this.setTitle(FarStringDefinition.UPDATE_STEP_ONE_TITLE);\r
5a24e806 205 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
206 this.setLocation((d.width - this.getSize().width) / 2, (d.height - this.getSize().height) / 2);\r
207 }\r
208\r
209 /**\r
210 * This method initializes jContentPane\r
211 * \r
212 * @return javax.swing.JPanel\r
213 */\r
214 private JPanel getJContentPane() {\r
215 if (jContentPane == null) {\r
216 jLabel1 = new JLabel();\r
a45e9a40 217 jLabel1.setBounds(new java.awt.Rectangle(30, 110, 355, 18));\r
156ed4d0 218 jLabel1.setText("Choose FAR from current WORKSPACE.");\r
5a24e806 219 jLabel = new JLabel();\r
ef6e2efe 220 jLabel.setBounds(new java.awt.Rectangle(30, 80, 97, 20));\r
5a24e806 221 jLabel.setText("Choose FAR file: ");\r
222 jContentPane = new JPanel();\r
223 jContentPane.setLayout(null);\r
224 jContentPane.add(getJTextArea(), null);\r
225 jContentPane.add(getJButtonCancel(), null);\r
226 jContentPane.add(getJButtonNext(), null);\r
227 jContentPane.add(jLabel, null);\r
228 jContentPane.add(getJTextFieldFarFile(), null);\r
229 jContentPane.add(getJButtonBrowser(), null);\r
230 jContentPane.add(jLabel1, null);\r
231 jContentPane.add(getJScrollPane(), null);\r
232 }\r
233 return jContentPane;\r
234 }\r
235\r
ef6e2efe 236 public void mouseClicked(MouseEvent e) {\r
237 if (e.getSource() == jButtonCancel) {\r
238 this.setVisible(false);\r
239 } else if (e.getSource() == jButtonNext) {\r
240 //\r
241 // Judge if FAR file is existed\r
242 //\r
243 farFile = new File(jTextFieldFarFile.getText());\r
244 if (!farFile.exists() || !farFile.isFile()) {\r
156ed4d0 245 Log.wrn("Update far", "Please choose a FAR file that already exists.");\r
ef6e2efe 246 return;\r
247 }\r
248\r
249 //\r
250 // Judge FAR is valid\r
251 //\r
252 try {\r
253 JarFile file = new JarFile(farFile);\r
254 this.far = new Far(file);\r
255 } catch (Exception ex) {\r
ed1665f2 256 Log.wrn("Update far", ex.getMessage());\r
257 Log.err("Update far", ex.getMessage());\r
ef6e2efe 258 }\r
259\r
260 //\r
261 // Add more logic process here\r
262 //\r
263 if (jListFarFromDb.getSelectedValue() == null) {\r
156ed4d0 264 Log.wrn("Update far", "Please choose a FAR from current WORKSPACE.");\r
ef6e2efe 265 return;\r
266 }\r
267\r
268 if (stepTwo == null) {\r
5a24e806 269 stepTwo = new UpdateStepTwo(this, true, this);\r
ef6e2efe 270 }\r
271 this.setVisible(false);\r
272 stepTwo.prepareTable();\r
273 stepTwo.setVisible(true);\r
274 } else if (e.getSource() == jButtonBrowser) {\r
275 JFileChooser fc = new JFileChooser();\r
276 fc.setAcceptAllFileFilterUsed(false);\r
277 fc.addChoosableFileFilter(new IFileFilter(DataType.FAR_SURFACE_AREA_EXT));\r
278 fc.setCurrentDirectory(new File(Workspace.getCurrentWorkspace()));\r
5a24e806 279\r
2e39c718 280 int result = fc.showOpenDialog(new JPanel());\r
5a24e806 281 if (result == JFileChooser.APPROVE_OPTION) {\r
282 this.jTextFieldFarFile.setText(Tools.addPathExt(fc.getSelectedFile().getPath(),\r
283 DataType.RETURN_TYPE_FAR_SURFACE_AREA));\r
284 }\r
285 }\r
286 }\r
287\r
288 public void mousePressed(MouseEvent e) {\r
289 // TODO Auto-generated method stub\r
290\r
291 }\r
292\r
293 public void mouseReleased(MouseEvent e) {\r
294 // TODO Auto-generated method stub\r
295\r
296 }\r
297\r
298 public void mouseEntered(MouseEvent e) {\r
299 // TODO Auto-generated method stub\r
300\r
301 }\r
302\r
303 public void mouseExited(MouseEvent e) {\r
304 // TODO Auto-generated method stub\r
305\r
306 }\r
307\r
308 public FarIdentification getSelecedDbFar() {\r
309 return (FarIdentification) jListFarFromDb.getSelectedValue();\r
310 }\r
311\r
312 public Far getFar() {\r
313 return far;\r
314 }\r
315}\r