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