878ddf1f |
1 | /** @file\r |
2 | Java class PackageAction is GUI for create spd file.\r |
3 | \r |
4 | Copyright (c) 2006, Intel Corporation\r |
5 | All rights reserved. This program and the accompanying materials\r |
6 | are licensed and made available under the terms and conditions of the BSD License\r |
7 | which accompanies this distribution. The full text of the license may be found at\r |
8 | http://opensource.org/licenses/bsd-license.php\r |
9 | \r |
10 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r |
11 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r |
12 | **/\r |
13 | package org.tianocore.packaging;\r |
14 | \r |
15 | import java.awt.BorderLayout;\r |
16 | import java.awt.Dimension;\r |
17 | import java.awt.Toolkit;\r |
18 | \r |
19 | import javax.swing.JFileChooser;\r |
20 | import javax.swing.JOptionPane;\r |
21 | import javax.swing.JPanel;\r |
22 | import javax.swing.JFrame;\r |
23 | import java.awt.GridLayout;\r |
24 | import java.io.File;\r |
25 | \r |
26 | import javax.swing.JButton;\r |
33f1b485 |
27 | import 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 |
34 | public 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 |