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