]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/PackageEditor/src/org/tianocore/packaging/UpdateNew.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@671 6f19259b...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / UpdateNew.java
1 /** @file
2 Java class UpdateNew is GUI for SpdHeader in spd file.
3
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 **/
13 package org.tianocore.packaging;
14
15 import java.awt.Dimension;
16 import java.awt.Toolkit;
17 import java.awt.event.ActionEvent;
18 import java.awt.event.ActionListener;
19 import java.text.SimpleDateFormat;
20 import java.util.Date;
21
22 import javax.swing.JFrame;
23 import javax.swing.JPanel;
24 import javax.swing.JLabel;
25 import javax.swing.JTextField;
26 import javax.swing.JButton;
27 import javax.swing.JTextArea;
28 import javax.swing.JScrollPane;
29
30 import javax.swing.JComboBox;
31
32 import org.tianocore.common.Tools;
33 import org.tianocore.packaging.common.ui.StarLabel;
34
35 /**
36 GUI for update SpdHeader contents
37
38 @since PackageEditor 1.0
39 **/
40 public class UpdateNew extends JFrame implements ActionListener {
41
42 private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="128,4"
43
44 private JLabel jLabelBaseName = null;
45
46 private JTextField jTextFieldBaseName = null;
47
48 private JLabel jLabelGuid = null;
49
50 private JTextField jTextFieldGuid = null;
51
52 private JLabel jLabelVersion = null;
53
54 private JTextField jTextFieldVersion = null;
55
56 private JButton jButtonGenerateGuid = null;
57
58 private JLabel jLabelLicense = null;
59
60 private JTextArea jTextAreaLicense = null;
61
62 private JLabel jLabelCopyright = null;
63
64 private JTextArea jTextAreaCopyright = null;
65
66 private JLabel jLabelDescription = null;
67
68 private JTextArea jTextAreaDescription = null;
69
70 private JButton jButtonOk = null;
71
72 private JButton jButtonCancel = null;
73
74 private JScrollPane jScrollPaneLicense = null;
75
76 private JScrollPane jScrollPaneCopyright = null;
77
78 private JScrollPane jScrollPaneDescription = null;
79
80 private JLabel jLabelAbstract = null;
81
82 private JTextField jTextFieldAbstract = null;
83
84 private JLabel jLabelModuleType = null;
85
86 private JLabel jLabelCompontentType = null;
87
88 private JComboBox jComboBox1 = null;
89
90 private JComboBox jComboBoxModuleType = null;
91
92 private StarLabel jStarLabel1 = null;
93
94 private StarLabel jStarLabel2 = null;
95
96 private StarLabel jStarLabel3 = null;
97
98 private StarLabel jStarLabel4 = null;
99
100 private StarLabel jStarLabel5 = null;
101
102 private StarLabel jStarLabel6 = null;
103
104 private StarLabel jStarLabel7 = null;
105
106 private StarLabel jStarLabel8 = null;
107
108 private JLabel jLabelURL = null;
109
110 private JTextField jTextFieldAbstractURL = null;
111
112 private JLabel jLabel = null;
113
114 private JComboBox jComboBox = null;
115
116 private SpdFileContents sfc = null;
117
118 private String createTime = null;
119
120 /**
121 This method initializes this
122
123 **/
124 private void initialize() {
125 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
126
127 }
128
129 /**
130 This method initializes jTextFieldBaseName
131
132 @return javax.swing.JTextField
133 **/
134 private JTextField getJTextFieldBaseName() {
135 if (jTextFieldBaseName == null) {
136 jTextFieldBaseName = new JTextField();
137 jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));
138 }
139 return jTextFieldBaseName;
140 }
141
142 /**
143 This method initializes jTextFieldGuid
144
145 @return javax.swing.JTextField
146 **/
147 private JTextField getJTextFieldGuid() {
148 if (jTextFieldGuid == null) {
149 jTextFieldGuid = new JTextField();
150 jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 240, 20));
151 }
152 return jTextFieldGuid;
153 }
154
155 /**
156 This method initializes jTextFieldVersion
157
158 @return javax.swing.JTextField
159 **/
160 private JTextField getJTextFieldVersion() {
161 if (jTextFieldVersion == null) {
162 jTextFieldVersion = new JTextField();
163 jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 60, 320, 20));
164 }
165 return jTextFieldVersion;
166 }
167
168 /**
169 This method initializes jButtonGenerateGuid
170
171 @return javax.swing.JButton
172 **/
173 private JButton getJButtonGenerateGuid() {
174 if (jButtonGenerateGuid == null) {
175 jButtonGenerateGuid = new JButton();
176 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(405, 35, 75, 20));
177 jButtonGenerateGuid.setText("GEN");
178 jButtonGenerateGuid.addActionListener(this);
179 }
180 return jButtonGenerateGuid;
181 }
182
183 /**
184 This method initializes jTextAreaLicense
185
186 @return javax.swing.JTextArea
187 **/
188 private JTextArea getJTextAreaLicense() {
189 if (jTextAreaLicense == null) {
190 jTextAreaLicense = new JTextArea();
191 jTextAreaLicense.setText("");
192 jTextAreaLicense.setLineWrap(true);
193 }
194 return jTextAreaLicense;
195 }
196
197 /**
198 This method initializes jTextAreaCopyright
199
200 @return javax.swing.JTextArea
201 **/
202 private JTextArea getJTextAreaCopyright() {
203 if (jTextAreaCopyright == null) {
204 jTextAreaCopyright = new JTextArea();
205 jTextAreaCopyright.setLineWrap(true);
206 }
207 return jTextAreaCopyright;
208 }
209
210 /**
211 This method initializes jTextAreaDescription
212
213 @return javax.swing.JTextArea
214 **/
215 private JTextArea getJTextAreaDescription() {
216 if (jTextAreaDescription == null) {
217 jTextAreaDescription = new JTextArea();
218 jTextAreaDescription.setLineWrap(true);
219 }
220 return jTextAreaDescription;
221 }
222
223 /**
224 This method initializes jButtonNext
225
226 @return javax.swing.JButton
227 **/
228 private JButton getJButtonOk() {
229 if (jButtonOk == null) {
230 jButtonOk = new JButton();
231 jButtonOk.setText("OK");
232 jButtonOk.setBounds(new java.awt.Rectangle(290, 481, 90, 20));
233 jButtonOk.addActionListener(this);
234 }
235 return jButtonOk;
236 }
237
238 /**
239 This method initializes jButtonCancel
240
241 @return javax.swing.JButton
242 **/
243 private JButton getJButtonCancel() {
244 if (jButtonCancel == null) {
245 jButtonCancel = new JButton();
246 jButtonCancel.setText("Cancel");
247 jButtonCancel.setBounds(new java.awt.Rectangle(390, 481, 90, 20));
248 jButtonCancel.addActionListener(this);
249 }
250 return jButtonCancel;
251 }
252
253 /**
254 This method initializes jScrollPane
255
256 @return javax.swing.JScrollPane
257 **/
258 private JScrollPane getJScrollPaneLicense() {
259 if (jScrollPaneLicense == null) {
260 jScrollPaneLicense = new JScrollPane();
261 jScrollPaneLicense.setBounds(new java.awt.Rectangle(160, 85, 320, 80));
262 jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
263 jScrollPaneLicense.setViewportView(getJTextAreaLicense());
264 }
265 return jScrollPaneLicense;
266 }
267
268 /**
269 This method initializes jScrollPane1
270
271 @return javax.swing.JScrollPane
272 **/
273 private JScrollPane getJScrollPaneCopyright() {
274 if (jScrollPaneCopyright == null) {
275 jScrollPaneCopyright = new JScrollPane();
276 jScrollPaneCopyright.setBounds(new java.awt.Rectangle(160,170,320,26));
277 jScrollPaneCopyright.setViewportView(getJTextAreaCopyright());
278 jScrollPaneCopyright.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
279 }
280 return jScrollPaneCopyright;
281 }
282
283 /**
284 This method initializes jScrollPane2
285
286 @return javax.swing.JScrollPane
287 **/
288 private JScrollPane getJScrollPaneDescription() {
289 if (jScrollPaneDescription == null) {
290 jScrollPaneDescription = new JScrollPane();
291 jScrollPaneDescription.setBounds(new java.awt.Rectangle(160, 322, 320, 80));
292 jScrollPaneDescription.setViewportView(getJTextAreaDescription());
293 jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
294 }
295 return jScrollPaneDescription;
296 }
297
298 /**
299 This method initializes jTextFieldAbstract
300
301 @return javax.swing.JTextField
302 **/
303 private JTextField getJTextFieldAbstract() {
304 if (jTextFieldAbstract == null) {
305 jTextFieldAbstract = new JTextField();
306 jTextFieldAbstract.setBounds(new java.awt.Rectangle(161,216,318,73));
307 }
308 return jTextFieldAbstract;
309 }
310
311 /**
312 This method initializes jComboBoxCompontentType
313
314 @return javax.swing.JComboBox
315 **/
316 private JComboBox getJComboBox1() {
317 if (jComboBox1 == null) {
318 jComboBox1 = new JComboBox();
319 jComboBox1.setBounds(new java.awt.Rectangle(160, 465, 91, 20));
320 }
321 return jComboBox1;
322 }
323
324 /**
325 This method initializes jComboBoxModuleType
326
327 @return javax.swing.JComboBox
328 **/
329 private JComboBox getJComboBoxModuleType() {
330 if (jComboBoxModuleType == null) {
331 jComboBoxModuleType = new JComboBox();
332 jComboBoxModuleType.setBounds(new java.awt.Rectangle(160, 440, 91, 20));
333 }
334 return jComboBoxModuleType;
335 }
336
337 /**
338 This method initializes jTextFieldAbstractURL
339
340 @return javax.swing.JTextField
341 **/
342 private JTextField getJTextFieldAbstractURL() {
343 if (jTextFieldAbstractURL == null) {
344 jTextFieldAbstractURL = new JTextField();
345 jTextFieldAbstractURL.setBounds(new java.awt.Rectangle(159, 414, 320, 20));
346 }
347 return jTextFieldAbstractURL;
348 }
349
350 public UpdateNew(SpdFileContents sfc) {
351 super();
352 initialize();
353 init();
354 this.setVisible(true);
355 this.sfc = sfc;
356 initShow();
357 }
358
359 /**
360 Start the window at the center of screen
361
362 **/
363 protected void centerWindow(int intWidth, int intHeight) {
364 Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
365 this.setLocation((d.width - intWidth) / 2, (d.height - intHeight) / 2);
366 }
367
368 /**
369 Start the window at the center of screen
370
371 **/
372 protected void centerWindow() {
373 centerWindow(this.getSize().width, this.getSize().height);
374 }
375
376 /**
377 This method initializes this
378
379 @return void
380 **/
381 private void init() {
382 this.setSize(500, 560);
383 this.setContentPane(getJContentPane());
384 this.setTitle("SPD File Header");
385 this.centerWindow();
386 //this.getRootPane().setDefaultButton(jButtonOk);
387 initFrame();
388 }
389
390 /**
391 This method initializes jContentPane
392
393 @return javax.swing.JPanel
394 **/
395 private JPanel getJContentPane() {
396 if (jContentPane == null) {
397 jLabel = new JLabel();
398 jLabel.setBounds(new java.awt.Rectangle(15, 490, 140, 21));
399 jLabel.setText("Re-Package");
400 jLabelURL = new JLabel();
401 jLabelURL.setBounds(new java.awt.Rectangle(16, 414, 25, 20));
402 jLabelURL.setText("URL");
403 jLabelCompontentType = new JLabel();
404 jLabelCompontentType.setBounds(new java.awt.Rectangle(15, 465, 140, 20));
405 jLabelCompontentType.setText("Read Only");
406 jLabelModuleType = new JLabel();
407 jLabelModuleType.setBounds(new java.awt.Rectangle(15, 440, 140, 20));
408 jLabelModuleType.setText("Package Type");
409 jLabelAbstract = new JLabel();
410 jLabelAbstract.setBounds(new java.awt.Rectangle(17,216,140,20));
411 jLabelAbstract.setText("Abstract");
412 jLabelDescription = new JLabel();
413 jLabelDescription.setText("Description");
414 jLabelDescription.setBounds(new java.awt.Rectangle(16, 325, 140, 20));
415 jLabelCopyright = new JLabel();
416 jLabelCopyright.setText("Copyright");
417 jLabelCopyright.setBounds(new java.awt.Rectangle(15, 171, 140, 20));
418 jLabelLicense = new JLabel();
419 jLabelLicense.setText("License");
420 jLabelLicense.setBounds(new java.awt.Rectangle(15, 85, 140, 20));
421 jLabelVersion = new JLabel();
422 jLabelVersion.setText("Version");
423 jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));
424 jLabelGuid = new JLabel();
425 jLabelGuid.setPreferredSize(new java.awt.Dimension(25, 15));
426 jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));
427 jLabelGuid.setText("Guid");
428 jLabelBaseName = new JLabel();
429 jLabelBaseName.setText("Package Name");
430 jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));
431 jContentPane = new JPanel();
432 jContentPane.setLayout(null);
433 jContentPane.setLocation(new java.awt.Point(0, 0));
434 jContentPane.setSize(new java.awt.Dimension(500, 524));
435 jContentPane.add(jLabelBaseName, null);
436 jContentPane.add(getJTextFieldBaseName(), null);
437 jContentPane.add(jLabelGuid, null);
438 jContentPane.add(getJTextFieldGuid(), null);
439 jContentPane.add(jLabelVersion, null);
440 jContentPane.add(getJTextFieldVersion(), null);
441 jContentPane.add(getJButtonGenerateGuid(), null);
442 jContentPane.add(jLabelLicense, null);
443 jContentPane.add(jLabelCopyright, null);
444 jContentPane.add(jLabelDescription, null);
445 jContentPane.add(getJButtonOk(), null);
446 jContentPane.add(getJButtonCancel(), null);
447 jContentPane.add(getJScrollPaneLicense(), null);
448 jContentPane.add(getJScrollPaneCopyright(), null);
449 jContentPane.add(getJScrollPaneDescription(), null);
450 jContentPane.add(jLabelAbstract, null);
451 jContentPane.add(getJTextFieldAbstract(), null);
452 jContentPane.add(jLabelModuleType, null);
453 jContentPane.add(jLabelCompontentType, null);
454 jContentPane.add(getJComboBox1(), null);
455 jContentPane.add(getJComboBoxModuleType(), null);
456
457 jStarLabel1 = new StarLabel();
458 jStarLabel1.setLocation(new java.awt.Point(0, 10));
459 jStarLabel2 = new StarLabel();
460 jStarLabel2.setLocation(new java.awt.Point(0, 35));
461 jStarLabel3 = new StarLabel();
462 jStarLabel3.setLocation(new java.awt.Point(0, 60));
463 jStarLabel4 = new StarLabel();
464 jStarLabel4.setLocation(new java.awt.Point(0, 85));
465 jStarLabel5 = new StarLabel();
466 jStarLabel5.setLocation(new java.awt.Point(0, 171));
467 jStarLabel6 = new StarLabel();
468 jStarLabel6.setLocation(new java.awt.Point(1, 325));
469 jStarLabel7 = new StarLabel();
470 jStarLabel7.setLocation(new java.awt.Point(2,216));
471 jStarLabel8 = new StarLabel();
472 jStarLabel8.setLocation(new java.awt.Point(0, 440));
473
474 jContentPane.add(jStarLabel1, null);
475 jContentPane.add(jStarLabel2, null);
476 jContentPane.add(jStarLabel3, null);
477 jContentPane.add(jStarLabel4, null);
478 jContentPane.add(jStarLabel5, null);
479 jContentPane.add(jStarLabel6, null);
480 jContentPane.add(jStarLabel7, null);
481 jContentPane.add(jStarLabel8, null);
482 jContentPane.add(jLabelURL, null);
483 jContentPane.add(getJTextFieldAbstractURL(), null);
484 jContentPane.add(jLabel, null);
485 jContentPane.add(getJComboBox(), null);
486 }
487 return jContentPane;
488 }
489
490 public void actionPerformed(ActionEvent arg0) {
491 if (arg0.getSource() == jButtonOk) {
492 this.save();
493 this.dispose();
494
495 }
496 if (arg0.getSource() == jButtonCancel) {
497 this.dispose();
498
499 }
500 if (arg0.getSource() == jButtonGenerateGuid) {
501 jTextFieldGuid.setText(Tools.generateUuidString());
502 }
503 }
504
505 /**
506 Save all components of Msa Header, update time modified.
507
508 **/
509 private void save() {
510 // sfc.removeSpdHdr();
511 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
512 Date date = new Date();
513 sfc.genSpdHeader(jTextFieldBaseName.getText(), jTextFieldGuid.getText(), jTextFieldVersion.getText(),
514 jTextFieldAbstract.getText(), jTextAreaDescription.getText(), jTextAreaCopyright.getText(),
515 jTextAreaLicense.getText(), createTime, format.format(date), jTextFieldAbstractURL.getText(),
516 jComboBoxModuleType.getSelectedItem().toString(), jComboBox1.getSelectedItem().toString(),
517 jComboBox.getSelectedItem().toString(), null, null);
518 // ModalFrameUtil.showAsModal(new PackageAction(sfc), pThis);
519 }
520
521 /**
522 This method initializes module type and compontent type
523
524 **/
525 private void initFrame() {
526 jComboBoxModuleType.addItem("SOURCE");
527 jComboBoxModuleType.addItem("BINARY");
528 jComboBoxModuleType.addItem("MIXED");
529
530 jComboBox1.addItem("true");
531 jComboBox1.addItem("false");
532
533 jComboBox.addItem("false");
534 jComboBox.addItem("true");
535
536 }
537
538 /**
539 Display original SpdHeader contents during init
540 **/
541 private void initShow() {
542 String[] s = new String[12];
543
544 sfc.getSpdHdrDetails(s);
545 jTextFieldBaseName.setText(s[0]);
546 jTextFieldGuid.setText(s[1]);
547 jTextFieldVersion.setText(s[2]);
548 jTextFieldAbstract.setText(s[3]);
549 jTextAreaDescription.setText(s[4]);
550 jTextAreaCopyright.setText(s[5]);
551 jTextAreaLicense.setText(s[6]);
552 createTime = s[7];
553 jTextFieldAbstractURL.setText(s[8]);
554 jComboBoxModuleType.setSelectedItem(s[9]);
555 jComboBox1.setSelectedIndex(s[10].equals("true") ? 0 : 1);
556 jComboBox.setSelectedIndex(s[11].equals("true") ? 0 : 1);
557
558 }
559
560 /**
561 This method initializes jComboBox
562
563 @return javax.swing.JComboBox
564 **/
565 private JComboBox getJComboBox() {
566 if (jComboBox == null) {
567 jComboBox = new JComboBox();
568 jComboBox.setBounds(new java.awt.Rectangle(160, 490, 90, 20));
569 }
570 return jComboBox;
571 }
572
573 } // @jve:decl-index=0:visual-constraint="38,-22"