]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/PackageEditor/src/org/tianocore/packaging/PackageAction.java
Remove the assumption of package location under workspace and prompt user to specify...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / PackageAction.java
CommitLineData
878ddf1f 1/** @file\r
2 Java class PackageAction is GUI for create spd file.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13package org.tianocore.packaging;\r
14\r
15import java.awt.BorderLayout;\r
16import java.awt.Dimension;\r
17import java.awt.Toolkit;\r
18\r
19import javax.swing.JFileChooser;\r
20import javax.swing.JOptionPane;\r
21import javax.swing.JPanel;\r
22import javax.swing.JFrame;\r
23import java.awt.GridLayout;\r
24import java.io.File;\r
25\r
26import javax.swing.JButton;\r
33f1b485 27import javax.swing.filechooser.FileFilter;\r
878ddf1f 28\r
29/**\r
30 GUI for create spd file\r
31 \r
32 @since PackageEditor 1.0\r
33**/\r
34public class PackageAction extends JFrame {\r
35\r
36 static JFrame frame;\r
37\r
38 private JPanel jContentPane = null;\r
39\r
40 private JButton jButton = null;\r
41\r
42 private JButton jButton1 = null;\r
43\r
44 private JButton jButton2 = null;\r
45\r
46 private JButton jButton3 = null;\r
47\r
48 private JButton jButton4 = null;\r
49\r
50 private JButton jButton5 = null;\r
51\r
52 private JButton jButton6 = null;\r
53\r
54 private JButton jButton7 = null;\r
55\r
56 ///\r
57 /// SpdFileContents object passed from main\r
58 ///\r
59 private SpdFileContents sfc = null;\r
60\r
61 private JFrame pThis = null; // @jve:decl-index=0:visual-constraint="304,10"\r
62\r
63 private JButton jButton8 = null;\r
64\r
65 private JButton jButton9 = null; // @jve:decl-index=0:visual-constraint="116,388"\r
66\r
67 /**\r
68 This is the default constructor\r
69 **/\r
70 public PackageAction(SpdFileContents sfc) {\r
71 super();\r
72 initialize();\r
73 this.sfc = sfc;\r
74 }\r
75\r
76 /**\r
77 This method initializes this\r
78 \r
79 @return void\r
80 **/\r
81 private void initialize() {\r
82 this.setSize(305, 385);\r
83 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
84 this.setContentPane(getJContentPane());\r
85 this.setTitle("Please Choose an Action");\r
86 this.centerWindow();\r
87 this.pThis = this;\r
88 \r
89 }\r
90\r
91 /**\r
92 Start the window at the center of screen\r
93 \r
94 **/\r
95 protected void centerWindow(int intWidth, int intHeight) {\r
96 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();\r
97 this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);\r
98 }\r
99\r
100 /**\r
101 Start the window at the center of screen\r
102 \r
103 **/\r
104 protected void centerWindow() {\r
105 centerWindow(this.getSize().width, this.getSize().height);\r
106 }\r
107\r
108 /**\r
109 This method initializes jContentPane\r
110 \r
111 @return javax.swing.JPanel\r
112 **/\r
113 private JPanel getJContentPane() {\r
114 if (jContentPane == null) {\r
115 GridLayout gridLayout = new GridLayout();\r
116 gridLayout.setRows(10);\r
117 gridLayout.setColumns(1);\r
118 jContentPane = new JPanel();\r
119 jContentPane.setPreferredSize(new java.awt.Dimension(200,300));\r
120 jContentPane.setLayout(gridLayout);\r
121 jContentPane.add(getJButton8(), null);\r
122 jContentPane.add(getJButton7(), null);\r
123 jContentPane.add(getJButton6(), null);\r
124 jContentPane.add(getJButton5(), null);\r
125 jContentPane.add(getJButton4(), null);\r
126 jContentPane.add(getJButton3(), null);\r
127 jContentPane.add(getJButton2(), null);\r
128 jContentPane.add(getJButton1(), null);\r
129 jContentPane.add(getJButton(), null);\r
130 jContentPane.add(getJButton9(), null);\r
131 }\r
132 return jContentPane;\r
133 }\r
134\r
135 /**\r
136 This method initializes jButton \r
137 \r
138 @return javax.swing.JButton \r
139 **/\r
140 private JButton getJButton() {\r
33f1b485 141 final FileFilter filter = new PkgFileFilter("spd");\r
142 \r
878ddf1f 143 if (jButton == null) {\r
144 jButton = new JButton();\r
145 jButton.setText("Save");\r
146 jButton.addMouseListener(new java.awt.event.MouseAdapter() {\r
147 public void mouseClicked(java.awt.event.MouseEvent e) {\r
148 //\r
149 // save sfc contents to file\r
150 //\r
33f1b485 151 JFileChooser chooser = new JFileChooser(PackagingMain.dirForNewSpd);\r
878ddf1f 152 chooser.setMultiSelectionEnabled(false);\r
33f1b485 153 chooser.setFileFilter(filter);\r
878ddf1f 154\r
155 int retval = chooser.showSaveDialog(frame);\r
156 if (retval == JFileChooser.APPROVE_OPTION) {\r
157 try {\r
158 File theFile = chooser.getSelectedFile();\r
159 if (theFile.exists()) {\r
160 int retVal = JOptionPane.showConfirmDialog(frame, "Are you sure to replace the exising one?", "File Exists",\r
161 JOptionPane.YES_NO_OPTION);\r
162 if (retVal == JOptionPane.NO_OPTION) {\r
163 return;\r
164 } \r
165 }\r
166 sfc.saveAs(theFile);\r
167\r
168 } catch (Exception ee) {\r
169 System.out.println(ee.toString());\r
170 }\r
171// pThis.dispose();\r
172 }\r
173\r
174 }\r
175 });\r
176 }\r
177 return jButton;\r
178 }\r
179\r
180 /**\r
181 This method initializes jButton1 \r
182 \r
183 @return javax.swing.JButton \r
184 **/\r
185 private JButton getJButton1() {\r
186 if (jButton1 == null) {\r
187 jButton1 = new JButton();\r
188 jButton1.setText("Add PCD Information");\r
189 jButton1.addMouseListener(new java.awt.event.MouseAdapter() {\r
190 public void mouseClicked(java.awt.event.MouseEvent e) {\r
191 //\r
192 // Add PCD frame show modal\r
193 //\r
194 ModalFrameUtil.showAsModal(new PackagePCD(sfc), pThis);\r
195 }\r
196 });\r
197 }\r
198 return jButton1;\r
199 }\r
200\r
201 /**\r
202 This method initializes jButton2 \r
203 \r
204 @return javax.swing.JButton \r
205 **/\r
206 private JButton getJButton2() {\r
207 if (jButton2 == null) {\r
208 jButton2 = new JButton();\r
209 jButton2.setText("Add PPI Declarations");\r
210 jButton2.addMouseListener(new java.awt.event.MouseAdapter() {\r
211 public void mouseClicked(java.awt.event.MouseEvent e) {\r
212 //\r
213 // Add PPI frame show modal\r
214 //\r
215 ModalFrameUtil.showAsModal(new PackagePpi(sfc), pThis);\r
216 }\r
217 });\r
218 }\r
219 return jButton2;\r
220 }\r
221\r
222 /**\r
223 This method initializes jButton3 \r
224 \r
225 @return javax.swing.JButton \r
226 **/\r
227 private JButton getJButton3() {\r
228 if (jButton3 == null) {\r
229 jButton3 = new JButton();\r
230 jButton3.setText("Add Protocol Declarations");\r
231 jButton3.addMouseListener(new java.awt.event.MouseAdapter() {\r
232 public void mouseClicked(java.awt.event.MouseEvent e) {\r
233 ModalFrameUtil.showAsModal(new PackageProtocols(sfc), pThis);\r
234 }\r
235 });\r
236 }\r
237 return jButton3;\r
238 }\r
239\r
240 /**\r
241 This method initializes jButton4 \r
242 \r
243 @return javax.swing.JButton \r
244 **/\r
245 private JButton getJButton4() {\r
246 if (jButton4 == null) {\r
247 jButton4 = new JButton();\r
248 jButton4.setText("Add GUID Declarations");\r
249 jButton4.addMouseListener(new java.awt.event.MouseAdapter() {\r
250 public void mouseClicked(java.awt.event.MouseEvent e) {\r
251 ModalFrameUtil.showAsModal(new PackageGuids(sfc), pThis);\r
252 }\r
253 });\r
254 }\r
255 return jButton4;\r
256 }\r
257\r
258 /**\r
259 This method initializes jButton5 \r
260 \r
261 @return javax.swing.JButton \r
262 **/\r
263 private JButton getJButton5() {\r
264 if (jButton5 == null) {\r
265 jButton5 = new JButton();\r
266 jButton5.setText("Add Package Headers");\r
267 jButton5.addMouseListener(new java.awt.event.MouseAdapter() {\r
268 public void mouseClicked(java.awt.event.MouseEvent e) {\r
269 ModalFrameUtil.showAsModal(new PackagePkgHeader(sfc), pThis);\r
270 }\r
271 });\r
272 }\r
273 return jButton5;\r
274 }\r
275\r
276 /**\r
277 This method initializes jButton6 \r
278 \r
279 @return javax.swing.JButton \r
280 **/\r
281 private JButton getJButton6() {\r
282 if (jButton6 == null) {\r
283 jButton6 = new JButton();\r
284 jButton6.setText("Add MSA Files");\r
285 jButton6.addMouseListener(new java.awt.event.MouseAdapter() {\r
286 public void mouseClicked(java.awt.event.MouseEvent e) {\r
287 ModalFrameUtil.showAsModal(new PackageMsaFile(sfc), pThis);\r
288 }\r
289 });\r
290 }\r
291 return jButton6;\r
292 }\r
293\r
294 /**\r
295 This method initializes jButton7 \r
296 \r
297 @return javax.swing.JButton \r
298 **/\r
299 private JButton getJButton7() {\r
300 if (jButton7 == null) {\r
301 jButton7 = new JButton();\r
302 jButton7.setText("Add Library Classes");\r
303 jButton7.addMouseListener(new java.awt.event.MouseAdapter() {\r
304 public void mouseClicked(java.awt.event.MouseEvent e) {\r
305 ModalFrameUtil.showAsModal(new PackageLibraryClass(sfc), pThis);\r
306 }\r
307 });\r
308 }\r
309 return jButton7;\r
310 }\r
311\r
312 /**\r
313 This method initializes jButton8 \r
314 \r
315 @return javax.swing.JButton \r
316 **/\r
317 private JButton getJButton8() {\r
318 if (jButton8 == null) {\r
319 jButton8 = new JButton();\r
320 jButton8.setText("Add SPD Header");\r
321 jButton8.addMouseListener(new java.awt.event.MouseAdapter() {\r
322 public void mouseClicked(java.awt.event.MouseEvent e) {\r
323 ModalFrameUtil.showAsModal(new PackageNew(sfc), pThis);\r
324 }\r
325 });\r
326 }\r
327 return jButton8;\r
328 }\r
329\r
330 /**\r
331 This method initializes jButton9 \r
332 \r
333 @return javax.swing.JButton \r
334 **/\r
335 private JButton getJButton9() {\r
336 if (jButton9 == null) {\r
337 jButton9 = new JButton();\r
338 jButton9.setText("Done");\r
339 jButton9.addMouseListener(new java.awt.event.MouseAdapter() {\r
340 public void mouseClicked(java.awt.event.MouseEvent e) {\r
341 //\r
342 // quit current frame\r
343 //\r
344 pThis.dispose();\r
345 \r
346 }\r
347 });\r
348 }\r
349 return jButton9;\r
350 }\r
351\r
352} // @jve:decl-index=0:visual-constraint="104,41"\r