]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java
433c2d3d4cf4dcd57ee4bd15eb78f13206a96c8a
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdHeader.java
1 /** @file
2
3 The file is used to create, update spdHeader of Spd file
4
5 Copyright (c) 2006, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 package org.tianocore.frameworkwizard.packaging.ui;
17
18 import java.awt.event.ActionEvent;
19 import java.awt.event.ComponentEvent;
20 import java.awt.event.FocusAdapter;
21 import java.awt.event.FocusEvent;
22
23 import javax.swing.JButton;
24 import javax.swing.JFrame;
25 import javax.swing.JLabel;
26 import javax.swing.JOptionPane;
27 import javax.swing.JPanel;
28 import javax.swing.JScrollPane;
29 import javax.swing.JTextArea;
30 import javax.swing.JTextField;
31
32 import org.tianocore.PackageSurfaceAreaDocument;
33 import org.tianocore.frameworkwizard.common.DataValidation;
34 import org.tianocore.frameworkwizard.common.Log;
35 import org.tianocore.frameworkwizard.common.Tools;
36 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;
37 import org.tianocore.frameworkwizard.common.ui.StarLabel;
38
39 /**
40 The class is used to create, update spdHeader of Spd file
41 It extends IInternalFrame
42
43 @since PackageEditor 1.0
44
45 **/
46 public class SpdHeader extends IInternalFrame {
47
48 ///
49 /// Define class Serial Version UID
50 ///
51 private static final long serialVersionUID = -8152099582923006900L;
52
53 //
54 //Define class members
55 //
56 static JFrame frame;
57
58 private JPanel jContentPane = null;
59
60 private JLabel jLabelBaseName = null;
61
62 private JTextField jTextFieldBaseName = null;
63
64 private JLabel jLabelGuid = null;
65
66 private JTextField jTextFieldGuid = null;
67
68 private JLabel jLabelVersion = null;
69
70 private JTextField jTextFieldVersion = null;
71
72 private JButton jButtonGenerateGuid = null;
73
74 private JLabel jLabelLicense = null;
75
76 private JTextArea jTextAreaLicense = null;
77
78 private JLabel jLabelCopyright = null;
79
80 private JLabel jLabelDescription = null;
81
82 private JTextArea jTextAreaDescription = null;
83
84 private JLabel jLabelSpecification = null;
85
86 private JTextField jTextFieldSpecification = null;
87
88 private JButton jButtonOk = null;
89
90 private JButton jButtonCancel = null;
91
92 private JScrollPane jScrollPaneLicense = null;
93
94 private JScrollPane jScrollPaneDescription = null;
95
96 private JLabel jLabelAbstract = null;
97
98 private JTextField jTextFieldAbstract = null;
99
100 private StarLabel jStarLabel1 = null;
101
102 private StarLabel jStarLabel2 = null;
103
104 private StarLabel jStarLabel3 = null;
105
106 private StarLabel jStarLabel4 = null;
107
108 private StarLabel jStarLabel5 = null;
109
110 private StarLabel jStarLabel6 = null;
111
112 private StarLabel jStarLabel7 = null;
113
114 private StarLabel jStarLabel9 = null;
115
116 private SpdFileContents sfc = null;
117
118 private JTextField jTextFieldCopyright = null;
119
120 private JScrollPane topScrollPane = null;
121
122 private JLabel jLabel = null;
123
124 private JTextField jTextField = null;
125
126 /**
127 This method initializes jTextFieldBaseName
128
129 @return javax.swing.JTextField jTextFieldBaseName
130
131 **/
132 private JTextField getJTextFieldBaseName() {
133 if (jTextFieldBaseName == null) {
134 jTextFieldBaseName = new JTextField();
135 jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));
136 jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320,20));
137 jTextFieldBaseName.addFocusListener(new FocusAdapter(){
138 public void focusLost(FocusEvent e){
139 if (!DataValidation.isUiNameType(jTextFieldBaseName.getText())) {
140 JOptionPane.showMessageDialog(frame, "Package Name is NOT UiNameType.");
141 return;
142 }
143 sfc.setSpdHdrPkgName(jTextFieldBaseName.getText());
144 }
145 });
146 }
147 return jTextFieldBaseName;
148 }
149
150 /**
151 This method initializes jTextFieldGuid
152
153 @return javax.swing.JTextField jTextFieldGuid
154
155 **/
156 private JTextField getJTextFieldGuid() {
157 if (jTextFieldGuid == null) {
158 jTextFieldGuid = new JTextField();
159 jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 250, 20));
160 jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250,20));
161 jTextFieldGuid.addFocusListener(new FocusAdapter(){
162 public void focusLost(FocusEvent e){
163 if (!DataValidation.isGuid(jTextFieldGuid.getText())) {
164 JOptionPane.showMessageDialog(frame, "Guid is NOT GuidType.");
165 return;
166 }
167 sfc.setSpdHdrGuidValue(jTextFieldGuid.getText());
168 }
169 });
170 }
171 return jTextFieldGuid;
172 }
173
174 /**
175 This method initializes jTextFieldVersion
176
177 @return javax.swing.JTextField jTextFieldVersion
178
179 **/
180 private JTextField getJTextFieldVersion() {
181 if (jTextFieldVersion == null) {
182 jTextFieldVersion = new JTextField();
183 jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 60, 320, 20));
184 jTextFieldVersion.setPreferredSize(new java.awt.Dimension(320,20));
185 jTextFieldVersion.addFocusListener(new FocusAdapter(){
186 public void focusLost(FocusEvent e){
187 if (!DataValidation.isVersion(jTextFieldVersion.getText())) {
188 JOptionPane.showMessageDialog(frame, "Version is NOT version type.");
189 return;
190 }
191 sfc.setSpdHdrVer(jTextFieldVersion.getText());
192 }
193 });
194 }
195 return jTextFieldVersion;
196 }
197
198 /**
199 This method initializes jButtonGenerateGuid
200
201 @return javax.swing.JButton jButtonGenerateGuid
202
203 **/
204 private JButton getJButtonGenerateGuid() {
205 if (jButtonGenerateGuid == null) {
206 jButtonGenerateGuid = new JButton();
207 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(415, 35, 65, 20));
208 jButtonGenerateGuid.setText("GEN");
209 jButtonGenerateGuid.addActionListener(this);
210 }
211 return jButtonGenerateGuid;
212 }
213
214 /**
215 This method initializes jTextAreaLicense
216
217 @return javax.swing.JTextArea jTextAreaLicense
218
219 **/
220 private JTextArea getJTextAreaLicense() {
221 if (jTextAreaLicense == null) {
222 jTextAreaLicense = new JTextArea();
223 jTextAreaLicense.setText("");
224 jTextAreaLicense.setPreferredSize(new java.awt.Dimension(317,77));
225 jTextAreaLicense.setLineWrap(true);
226 jTextAreaLicense.addFocusListener(new FocusAdapter(){
227 public void focusLost(FocusEvent e){
228 if (jTextAreaLicense.getText().length() == 0) {
229 JOptionPane.showMessageDialog(frame, "License contents could NOT be empty.");
230 return;
231 }
232 sfc.setSpdHdrLicense(jTextAreaLicense.getText());
233 }
234 });
235 }
236 return jTextAreaLicense;
237 }
238
239 /**
240 This method initializes jTextAreaDescription
241
242 @return javax.swing.JTextArea jTextAreaDescription
243
244 **/
245 private JTextArea getJTextAreaDescription() {
246 if (jTextAreaDescription == null) {
247 jTextAreaDescription = new JTextArea();
248 jTextAreaDescription.setLineWrap(true);
249 jTextAreaDescription.setPreferredSize(new java.awt.Dimension(317,77));
250 jTextAreaDescription.addFocusListener(new FocusAdapter(){
251 public void focusLost(FocusEvent e){
252 if (jTextAreaDescription.getText().length() == 0) {
253 JOptionPane.showMessageDialog(frame, "Description contents could NOT be empty.");
254 return;
255 }
256 sfc.setSpdHdrDescription(jTextAreaDescription.getText());
257 }
258 });
259 }
260 return jTextAreaDescription;
261 }
262
263 /**
264 This method initializes jTextFieldSpecification
265
266 @return javax.swing.JTextField jTextFieldSpecification
267
268 **/
269 private JTextField getJTextFieldSpecification() {
270 if (jTextFieldSpecification == null) {
271 jTextFieldSpecification = new JTextField();
272 jTextFieldSpecification.setBounds(new java.awt.Rectangle(160, 305, 320, 20));
273 jTextFieldSpecification.setEditable(false);
274 jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(320,20));
275 jTextFieldSpecification.addFocusListener(new FocusAdapter(){
276 public void focusLost(FocusEvent e){
277 sfc.setSpdHdrSpec(jTextFieldSpecification.getText());
278 }
279 });
280 }
281 return jTextFieldSpecification;
282 }
283
284 /**
285 This method initializes jButtonOk
286
287 @return javax.swing.JButton jButtonOk
288
289 **/
290 private JButton getJButtonOk() {
291 if (jButtonOk == null) {
292 jButtonOk = new JButton();
293 jButtonOk.setText("OK");
294 jButtonOk.setBounds(new java.awt.Rectangle(290, 445, 90, 20));
295 jButtonOk.setVisible(false);
296 jButtonOk.addActionListener(this);
297 }
298 return jButtonOk;
299 }
300
301 /**
302 This method initializes jButtonCancel
303
304 @return javax.swing.JButton jButtonCancel
305
306 **/
307 private JButton getJButtonCancel() {
308 if (jButtonCancel == null) {
309 jButtonCancel = new JButton();
310 jButtonCancel.setText("Cancel");
311 jButtonCancel.setBounds(new java.awt.Rectangle(390, 445, 90, 20));
312 jButtonCancel.setVisible(false);
313 jButtonCancel.addActionListener(this);
314 }
315 return jButtonCancel;
316 }
317
318 /**
319 This method initializes jScrollPaneLicense
320
321 @return javax.swing.JScrollPane jScrollPaneLicense
322
323 **/
324 private JScrollPane getJScrollPaneLicense() {
325 if (jScrollPaneLicense == null) {
326 jScrollPaneLicense = new JScrollPane();
327 jScrollPaneLicense.setBounds(new java.awt.Rectangle(160, 85, 320, 80));
328 jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
329 jScrollPaneLicense.setPreferredSize(new java.awt.Dimension(320,80));
330 jScrollPaneLicense.setViewportView(getJTextAreaLicense());
331 }
332 return jScrollPaneLicense;
333 }
334
335 /**
336 This method initializes jScrollPaneDescription
337
338 @return javax.swing.JScrollPane jScrollPaneDescription
339
340 **/
341 private JScrollPane getJScrollPaneDescription() {
342 if (jScrollPaneDescription == null) {
343 jScrollPaneDescription = new JScrollPane();
344 jScrollPaneDescription.setBounds(new java.awt.Rectangle(160, 220, 320, 80));
345 jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
346 jScrollPaneDescription.setViewportView(getJTextAreaDescription());
347 }
348 return jScrollPaneDescription;
349 }
350
351 /**
352 This method initializes jTextFieldAbstract
353
354 @return javax.swing.JTextField jTextFieldAbstract
355
356 **/
357 private JTextField getJTextFieldAbstract() {
358 if (jTextFieldAbstract == null) {
359 jTextFieldAbstract = new JTextField();
360 jTextFieldAbstract.setBounds(new java.awt.Rectangle(160,195,320,20));
361 jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20));
362 jTextFieldAbstract.addFocusListener(new FocusAdapter(){
363 public void focusLost(FocusEvent e){
364 if (!DataValidation.isAbstract(jTextFieldAbstract.getText())) {
365 JOptionPane.showMessageDialog(frame, "Abstract could NOT be empty.");
366 return;
367 }
368 sfc.setSpdHdrAbs(jTextFieldAbstract.getText());
369 }
370 });
371 }
372 return jTextFieldAbstract;
373 }
374
375 /**
376 This method initializes jTextFieldCopyright
377
378 @return javax.swing.JTextField jTextFieldCopyright
379
380 **/
381 private JTextField getJTextFieldCopyright() {
382 if (jTextFieldCopyright == null) {
383 jTextFieldCopyright = new JTextField();
384 jTextFieldCopyright.setBounds(new java.awt.Rectangle(160,330,320, 20));
385 jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320,20));
386 jTextFieldCopyright.addFocusListener(new FocusAdapter(){
387 public void focusLost(FocusEvent e){
388 if (!DataValidation.isCopyright(jTextFieldCopyright.getText())) {
389 JOptionPane.showMessageDialog(frame, "Copyright contents could not be empty.");
390 return;
391 }
392 sfc.setSpdHdrCopyright(jTextFieldCopyright.getText());
393 }
394 });
395 }
396 return jTextFieldCopyright;
397 }
398
399 /**
400 * This method initializes jTextField
401 *
402 * @return javax.swing.JTextField
403 */
404 private JTextField getJTextField() {
405 if (jTextField == null) {
406 jTextField = new JTextField();
407 jTextField.setBounds(new java.awt.Rectangle(160,170,320,20));
408 jTextField.setPreferredSize(new java.awt.Dimension(320, 20));
409 jTextField.addFocusListener(new FocusAdapter(){
410 public void focusLost(FocusEvent e){
411 sfc.setSpdHdrLicense(jTextAreaLicense.getText());
412 sfc.setSpdHdrUrl(jTextField.getText());
413 }
414 });
415 }
416 return jTextField;
417 }
418
419 public static void main(String[] args) {
420 new SpdHeader().setVisible(true);
421 }
422
423 /**
424 This is the default constructor
425
426 **/
427 public SpdHeader() {
428 super();
429 init();
430 this.setVisible(true);
431 }
432
433 /**
434 This is the override edit constructor
435
436 @param inspdHeader The input data of spdHeaderDocument.spdHeader
437
438 **/
439 public SpdHeader(PackageSurfaceAreaDocument.PackageSurfaceArea inPsa) {
440 this();
441 sfc = new SpdFileContents(inPsa);
442 init(sfc);
443 }
444 /**
445 This method initializes this
446
447 **/
448 private void init() {
449 this.setContentPane(getTopScrollPane());
450 this.setTitle("Package Surface Area Header");
451 initFrame();
452 }
453
454 /**
455 This method initializes this
456 Fill values to all fields if these values are not empty
457
458 @param inspdHeader The input data of spdHeaderDocument.spdHeader
459
460 **/
461 private void init(SpdFileContents sfc) {
462 if (sfc.getSpdHdrPkgName() != null) {
463 jTextFieldBaseName.setText(sfc.getSpdHdrPkgName());
464 }
465 if (sfc.getSpdHdrGuidValue() != null) {
466 jTextFieldGuid.setText(sfc.getSpdHdrGuidValue());
467 }
468 if (sfc.getSpdHdrVer() != null) {
469 jTextFieldVersion.setText(sfc.getSpdHdrVer());
470 }
471 if (sfc.getSpdHdrLicense() != null) {
472 jTextAreaLicense.setText(sfc.getSpdHdrLicense());
473 }
474 if (sfc.getSpdHdrUrl() != null) {
475 jTextField.setText(sfc.getSpdHdrUrl());
476 }
477 if (sfc.getSpdHdrCopyright() != null) {
478 jTextFieldCopyright.setText(sfc.getSpdHdrCopyright());
479 }
480 if (sfc.getSpdHdrAbs() != null) {
481 jTextFieldAbstract.setText(sfc.getSpdHdrAbs());
482 }
483 if (sfc.getSpdHdrDescription() != null) {
484 jTextAreaDescription.setText(sfc.getSpdHdrDescription());
485 }
486 if (sfc.getSpdHdrSpec() != null) {
487 jTextFieldSpecification.setText(sfc.getSpdHdrSpec());
488 }
489
490 }
491
492 /**
493 This method initializes jContentPane
494
495 @return javax.swing.JPanel jContentPane
496
497 **/
498 private JPanel getJContentPane() {
499 if (jContentPane == null) {
500 jLabel = new JLabel();
501 jLabel.setBounds(new java.awt.Rectangle(15,170,140,20));
502 jLabel.setText("URL");
503 jContentPane = new JPanel();
504 jContentPane.setLayout(null);
505 jContentPane.setLocation(new java.awt.Point(0, 0));
506 jContentPane.setPreferredSize(new java.awt.Dimension(500, 524));
507 jLabelAbstract = new JLabel();
508 jLabelAbstract.setBounds(new java.awt.Rectangle(15, 220, 140, 20));
509 jLabelAbstract.setText("Description");
510 jLabelSpecification = new JLabel();
511 jLabelSpecification.setText("Specification");
512 jLabelSpecification.setBounds(new java.awt.Rectangle(15, 305, 140, 20));
513 jLabelDescription = new JLabel();
514 jLabelDescription.setText("Abstract");
515 jLabelDescription.setBounds(new java.awt.Rectangle(15, 195, 140, 20));
516 jLabelCopyright = new JLabel();
517 jLabelCopyright.setText("Copyright");
518 jLabelCopyright.setBounds(new java.awt.Rectangle(15, 330, 140, 20));
519 jLabelLicense = new JLabel();
520 jLabelLicense.setText("License");
521 jLabelLicense.setBounds(new java.awt.Rectangle(15, 85, 140, 20));
522 jLabelVersion = new JLabel();
523 jLabelVersion.setText("Version");
524 jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));
525 jLabelGuid = new JLabel();
526 jLabelGuid.setPreferredSize(new java.awt.Dimension(25, 15));
527 jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));
528 jLabelGuid.setText("Guid");
529 jLabelBaseName = new JLabel();
530 jLabelBaseName.setText("Package Name");
531 jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));
532 jContentPane.add(jLabelBaseName, null);
533 jContentPane.add(getJTextFieldBaseName(), null);
534 jContentPane.add(jLabelGuid, null);
535 jContentPane.add(getJTextFieldGuid(), null);
536 jContentPane.add(jLabelVersion, null);
537 jContentPane.add(getJTextFieldVersion(), null);
538 jContentPane.add(getJButtonGenerateGuid(), null);
539 jContentPane.add(jLabelLicense, null);
540 jContentPane.add(jLabelCopyright, null);
541 jContentPane.add(jLabelDescription, null);
542 jContentPane.add(jLabelSpecification, null);
543 jContentPane.add(getJTextFieldSpecification(), null);
544 jContentPane.add(getJButtonOk(), null);
545 jContentPane.add(getJButtonCancel(), null);
546 jContentPane.add(getJScrollPaneLicense(), null);
547 jContentPane.add(getJScrollPaneDescription(), null);
548 jContentPane.add(jLabelAbstract, null);
549 jContentPane.add(getJTextFieldAbstract(), null);
550 jStarLabel1 = new StarLabel();
551 jStarLabel1.setLocation(new java.awt.Point(0, 10));
552 jStarLabel2 = new StarLabel();
553 jStarLabel2.setLocation(new java.awt.Point(0, 35));
554 jStarLabel3 = new StarLabel();
555 jStarLabel3.setLocation(new java.awt.Point(0, 60));
556 jStarLabel4 = new StarLabel();
557 jStarLabel4.setLocation(new java.awt.Point(0, 85));
558 jStarLabel5 = new StarLabel();
559 jStarLabel5.setLocation(new java.awt.Point(0, 330));
560 jStarLabel6 = new StarLabel();
561 jStarLabel6.setLocation(new java.awt.Point(0, 195));
562 jStarLabel7 = new StarLabel();
563 jStarLabel7.setLocation(new java.awt.Point(0, 305));
564 jStarLabel7.setEnabled(false);
565 jStarLabel9 = new StarLabel();
566 jStarLabel9.setLocation(new java.awt.Point(0, 220));
567 jContentPane.add(jStarLabel1, null);
568 jContentPane.add(jStarLabel2, null);
569 jContentPane.add(jStarLabel3, null);
570 jContentPane.add(jStarLabel4, null);
571 jContentPane.add(jStarLabel5, null);
572 jContentPane.add(jStarLabel6, null);
573 jContentPane.add(jStarLabel7, null);
574 jContentPane.add(jStarLabel9, null);
575 jContentPane.add(getJTextFieldCopyright(), null);
576
577 jContentPane.add(jLabel, null);
578 jContentPane.add(getJTextField(), null);
579 }
580 return jContentPane;
581 }
582
583 /* (non-Javadoc)
584 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
585 *
586 * Override actionPerformed to listen all actions
587 *
588 */
589 public void actionPerformed(ActionEvent arg0) {
590 if (arg0.getSource() == jButtonOk) {
591 this.save();
592 this.setEdited(true);
593 }
594 if (arg0.getSource() == jButtonCancel) {
595 this.setEdited(false);
596 }
597 if (arg0.getSource() == jButtonGenerateGuid) {
598 //ToDo: invoke GuidValueEditor
599 jTextFieldGuid.setText(Tools.generateUuidString());
600 sfc.setSpdHdrGuidValue(jTextFieldGuid.getText());
601 }
602 }
603
604 /**
605 Data validation for all fields
606
607 @retval true - All datas are valid
608 @retval false - At least one data is invalid
609
610 **/
611 public boolean check() {
612 //
613 // Check if all required fields are not empty
614 //
615 if (isEmpty(this.jTextFieldBaseName.getText())) {
616 Log.err("Base Name couldn't be empty");
617 return false;
618 }
619 if (isEmpty(this.jTextFieldGuid.getText())) {
620 Log.err("Guid couldn't be empty");
621 return false;
622 }
623 if (isEmpty(this.jTextFieldVersion.getText())) {
624 Log.err("Version couldn't be empty");
625 return false;
626 }
627 if (isEmpty(this.jTextAreaLicense.getText())) {
628 Log.err("License couldn't be empty");
629 return false;
630 }
631 if (isEmpty(this.jTextFieldCopyright.getText())) {
632 Log.err("Copyright couldn't be empty");
633 return false;
634 }
635 if (isEmpty(this.jTextAreaDescription.getText())) {
636 Log.err("Description couldn't be empty");
637 return false;
638 }
639 if (isEmpty(this.jTextFieldAbstract.getText())) {
640 Log.err("Abstract couldn't be empty");
641 return false;
642 }
643
644 //
645 // Check if all fields have correct data types
646 //
647 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {
648 Log.err("Incorrect data type for Base Name");
649 return false;
650 }
651 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {
652 Log.err("Incorrect data type for Guid");
653 return false;
654 }
655 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {
656 Log.err("Incorrect data type for Abstract");
657 return false;
658 }
659 if (!DataValidation.isCopyright(this.jTextFieldCopyright.getText())) {
660 Log.err("Incorrect data type for Copyright");
661 return false;
662 }
663 return true;
664 }
665
666 /**
667 Save all components of Spd Header
668 if exists spdHeader, set the value directly
669 if not exists spdHeader, new an instance first
670
671 **/
672 public void save() {
673 try {
674
675 } catch (Exception e) {
676 Log.err("Save Package", e.getMessage());
677 }
678 }
679
680 /**
681 This method initializes Package type and Compontent type
682
683 **/
684 private void initFrame() {
685
686 }
687
688 /* (non-Javadoc)
689 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)
690 *
691 * Override componentResized to resize all components when frame's size is changed
692 */
693 public void componentResized(ComponentEvent arg0) {
694 int intPreferredWidth = 500;
695 int intCurrentWidth = this.getJContentPane().getWidth();
696
697 resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth,intPreferredWidth);
698 resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth,intPreferredWidth);
699 resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth,intPreferredWidth);
700 resizeComponentWidth(this.jTextField, intCurrentWidth,intPreferredWidth);
701 resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth,intPreferredWidth);
702 resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth,intPreferredWidth);
703 resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth,intPreferredWidth);
704 resizeComponentWidth(this.jTextFieldSpecification, intCurrentWidth,intPreferredWidth);
705 resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth,intPreferredWidth);
706 relocateComponentX(this.jButtonGenerateGuid, intCurrentWidth, jButtonGenerateGuid.getWidth(),30);
707 }
708
709 private JScrollPane getTopScrollPane() {
710 if (topScrollPane == null){
711 topScrollPane = new JScrollPane();
712 topScrollPane.setViewportView(getJContentPane());
713 }
714 return topScrollPane;
715 }
716 }