3 The file is used to create, update MsaHeader of MSA file
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
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.
16 package org
.tianocore
.frameworkwizard
.module
.ui
;
18 import java
.awt
.event
.ActionEvent
;
19 import java
.awt
.event
.ComponentEvent
;
20 import java
.awt
.event
.FocusEvent
;
22 import javax
.swing
.JButton
;
23 import javax
.swing
.JComboBox
;
24 import javax
.swing
.JLabel
;
25 import javax
.swing
.JPanel
;
26 import javax
.swing
.JScrollPane
;
27 import javax
.swing
.JTextArea
;
28 import javax
.swing
.JTextField
;
30 import org
.tianocore
.ModuleDefinitionsDocument
;
31 import org
.tianocore
.ModuleSurfaceAreaDocument
;
32 import org
.tianocore
.ModuleTypeDef
;
33 import org
.tianocore
.MsaHeaderDocument
;
34 import org
.tianocore
.LicenseDocument
.License
;
35 import org
.tianocore
.frameworkwizard
.common
.DataType
;
36 import org
.tianocore
.frameworkwizard
.common
.DataValidation
;
37 import org
.tianocore
.frameworkwizard
.common
.EnumerationData
;
38 import org
.tianocore
.frameworkwizard
.common
.Log
;
39 import org
.tianocore
.frameworkwizard
.common
.Tools
;
40 import org
.tianocore
.frameworkwizard
.common
.Identifications
.OpeningModuleType
;
41 import org
.tianocore
.frameworkwizard
.common
.ui
.IInternalFrame
;
42 import org
.tianocore
.frameworkwizard
.common
.ui
.StarLabel
;
45 The class is used to create, update MsaHeader of MSA file
46 It extends IInternalFrame
51 public class MsaHeader
extends IInternalFrame
{
54 /// Define class Serial Version UID
56 private static final long serialVersionUID
= -8152099582923006900L;
59 //Define class members
61 private JPanel jContentPane
= null;
63 private JLabel jLabelBaseName
= null;
65 private JTextField jTextFieldBaseName
= null;
67 private JLabel jLabelGuid
= null;
69 private JTextField jTextFieldGuid
= null;
71 private JLabel jLabelVersion
= null;
73 private JTextField jTextFieldVersion
= null;
75 private JButton jButtonGenerateGuid
= null;
77 private JLabel jLabelLicense
= null;
79 private JTextArea jTextAreaLicense
= null;
81 private JLabel jLabelCopyright
= null;
83 private JLabel jLabelDescription
= null;
85 private JTextArea jTextAreaDescription
= null;
87 private JLabel jLabelSpecification
= null;
89 private JTextField jTextFieldSpecification
= null;
91 private JButton jButtonOk
= null;
93 private JButton jButtonCancel
= null;
95 private JScrollPane jScrollPaneLicense
= null;
97 private JScrollPane jScrollPaneDescription
= null;
99 private JLabel jLabelAbstract
= null;
101 private JTextField jTextFieldAbstract
= null;
103 private JLabel jLabelModuleType
= null;
105 private JComboBox jComboBoxModuleType
= null;
107 private StarLabel jStarLabel1
= null;
109 private StarLabel jStarLabel2
= null;
111 private StarLabel jStarLabel4
= null;
113 private StarLabel jStarLabel5
= null;
115 private StarLabel jStarLabel6
= null;
117 private StarLabel jStarLabel7
= null;
119 private StarLabel jStarLabel8
= null;
121 private StarLabel jStarLabel10
= null;
123 private StarLabel jStarLabel12
= null;
125 private MsaHeaderDocument
.MsaHeader msaHeader
= null;
127 private ModuleSurfaceAreaDocument
.ModuleSurfaceArea msa
= null;
129 private JTextField jTextFieldCopyright
= null;
131 private JLabel jLabelURL
= null;
133 private JTextField jTextFieldURL
= null;
135 private JScrollPane jScrollPane
= null;
137 private OpeningModuleType omt
= null;
139 private EnumerationData ed
= new EnumerationData();
142 This method initializes jTextFieldBaseName
144 @return javax.swing.JTextField jTextFieldBaseName
147 private JTextField
getJTextFieldBaseName() {
148 if (jTextFieldBaseName
== null) {
149 jTextFieldBaseName
= new JTextField();
150 jTextFieldBaseName
.setBounds(new java
.awt
.Rectangle(160, 10, 320, 20));
151 jTextFieldBaseName
.setPreferredSize(new java
.awt
.Dimension(320, 20));
152 jTextFieldBaseName
.addFocusListener(this);
153 jTextFieldBaseName
.setToolTipText("An brief Identifier, such as USB I/O Library, of the module");
155 return jTextFieldBaseName
;
159 This method initializes jTextFieldGuid
161 @return javax.swing.JTextField jTextFieldGuid
164 private JTextField
getJTextFieldGuid() {
165 if (jTextFieldGuid
== null) {
166 jTextFieldGuid
= new JTextField();
167 jTextFieldGuid
.setPreferredSize(new java
.awt
.Dimension(250, 20));
168 jTextFieldGuid
.setLocation(new java
.awt
.Point(160, 60));
169 jTextFieldGuid
.setSize(new java
.awt
.Dimension(250, 20));
170 jTextFieldGuid
.addFocusListener(this);
171 jTextFieldGuid
.setToolTipText("Guaranteed Unique Identification Number (8-4-4-4-12)");
173 return jTextFieldGuid
;
177 This method initializes jTextFieldVersion
179 @return javax.swing.JTextField jTextFieldVersion
182 private JTextField
getJTextFieldVersion() {
183 if (jTextFieldVersion
== null) {
184 jTextFieldVersion
= new JTextField();
185 jTextFieldVersion
.setPreferredSize(new java
.awt
.Dimension(320, 20));
186 jTextFieldVersion
.setLocation(new java
.awt
.Point(160, 85));
187 jTextFieldVersion
.setSize(new java
.awt
.Dimension(320, 20));
188 jTextFieldVersion
.addFocusListener(this);
189 jTextFieldVersion
.setToolTipText("A Version Number, 1.0, 1, 1.01");
191 return jTextFieldVersion
;
195 This method initializes jButtonGenerateGuid
197 @return javax.swing.JButton jButtonGenerateGuid
200 private JButton
getJButtonGenerateGuid() {
201 if (jButtonGenerateGuid
== null) {
202 jButtonGenerateGuid
= new JButton();
203 jButtonGenerateGuid
.setPreferredSize(new java
.awt
.Dimension(65, 20));
204 jButtonGenerateGuid
.setSize(new java
.awt
.Dimension(65, 20));
205 jButtonGenerateGuid
.setLocation(new java
.awt
.Point(415, 60));
206 jButtonGenerateGuid
.setText("GEN");
207 jButtonGenerateGuid
.addActionListener(this);
209 return jButtonGenerateGuid
;
213 This method initializes jTextAreaLicense
215 @return javax.swing.JTextArea jTextAreaLicense
218 private JTextArea
getJTextAreaLicense() {
219 if (jTextAreaLicense
== null) {
220 jTextAreaLicense
= new JTextArea();
221 jTextAreaLicense
.setText("");
222 jTextAreaLicense
.setLineWrap(true);
223 jTextAreaLicense
.addFocusListener(this);
224 jTextAreaLicense
.setToolTipText("The License for this file");
226 return jTextAreaLicense
;
230 This method initializes jTextAreaDescription
232 @return javax.swing.JTextArea jTextAreaDescription
235 private JTextArea
getJTextAreaDescription() {
236 if (jTextAreaDescription
== null) {
237 jTextAreaDescription
= new JTextArea();
238 jTextAreaDescription
.setLineWrap(true);
239 jTextAreaDescription
.addFocusListener(this);
240 jTextAreaDescription
.setToolTipText("A verbose description of the module");
241 jTextAreaDescription
.setSelectionStart(0);
242 jTextAreaDescription
.setSelectionEnd(0);
244 return jTextAreaDescription
;
248 This method initializes jTextFieldSpecification
250 @return javax.swing.JTextField jTextFieldSpecification
253 private JTextField
getJTextFieldSpecification() {
254 if (jTextFieldSpecification
== null) {
255 jTextFieldSpecification
= new JTextField();
256 jTextFieldSpecification
.setPreferredSize(new java
.awt
.Dimension(320, 20));
257 jTextFieldSpecification
.setText("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052");
258 jTextFieldSpecification
.setSize(new java
.awt
.Dimension(320, 20));
259 jTextFieldSpecification
.setLocation(new java
.awt
.Point(160, 435));
260 jTextFieldSpecification
.setEditable(false);
261 jTextFieldSpecification
.addFocusListener(this);
263 return jTextFieldSpecification
;
267 This method initializes jButtonOk
269 @return javax.swing.JButton jButtonOk
272 private JButton
getJButtonOk() {
273 if (jButtonOk
== null) {
274 jButtonOk
= new JButton();
275 jButtonOk
.setText("OK");
276 jButtonOk
.setPreferredSize(new java
.awt
.Dimension(90, 20));
277 jButtonOk
.setBounds(new java
.awt
.Rectangle(390, 455, 90, 20));
278 jButtonOk
.addActionListener(this);
279 jButtonOk
.setVisible(false);
285 This method initializes jButtonCancel
287 @return javax.swing.JButton jButtonCancel
290 private JButton
getJButtonCancel() {
291 if (jButtonCancel
== null) {
292 jButtonCancel
= new JButton();
293 jButtonCancel
.setText("Cancel");
294 jButtonCancel
.setBounds(new java
.awt
.Rectangle(390, 445, 90, 20));
295 jButtonCancel
.addActionListener(this);
296 jButtonCancel
.setPreferredSize(new java
.awt
.Dimension(90, 20));
297 jButtonCancel
.setVisible(false);
299 return jButtonCancel
;
303 This method initializes jScrollPaneLicense
305 @return javax.swing.JScrollPane jScrollPaneLicense
308 private JScrollPane
getJScrollPaneLicense() {
309 if (jScrollPaneLicense
== null) {
310 jScrollPaneLicense
= new JScrollPane();
311 jScrollPaneLicense
.setHorizontalScrollBarPolicy(javax
.swing
.JScrollPane
.HORIZONTAL_SCROLLBAR_NEVER
);
312 jScrollPaneLicense
.setSize(new java
.awt
.Dimension(320, 120));
313 jScrollPaneLicense
.setLocation(new java
.awt
.Point(160, 285));
314 jScrollPaneLicense
.setViewportView(getJTextAreaLicense());
315 jScrollPaneLicense
.setPreferredSize(new java
.awt
.Dimension(320, 120));
317 return jScrollPaneLicense
;
321 This method initializes jScrollPaneDescription
323 @return javax.swing.JScrollPane jScrollPaneDescription
326 private JScrollPane
getJScrollPaneDescription() {
327 if (jScrollPaneDescription
== null) {
328 jScrollPaneDescription
= new JScrollPane();
329 jScrollPaneDescription
.setHorizontalScrollBarPolicy(javax
.swing
.JScrollPane
.HORIZONTAL_SCROLLBAR_NEVER
);
330 jScrollPaneDescription
.setSize(new java
.awt
.Dimension(320, 120));
331 jScrollPaneDescription
.setLocation(new java
.awt
.Point(160, 135));
332 jScrollPaneDescription
.setViewportView(getJTextAreaDescription());
333 jScrollPaneDescription
.setPreferredSize(new java
.awt
.Dimension(320, 120));
335 return jScrollPaneDescription
;
339 This method initializes jTextFieldAbstract
341 @return javax.swing.JTextField jTextFieldAbstract
344 private JTextField
getJTextFieldAbstract() {
345 if (jTextFieldAbstract
== null) {
346 jTextFieldAbstract
= new JTextField();
347 jTextFieldAbstract
.setPreferredSize(new java
.awt
.Dimension(320, 20));
348 jTextFieldAbstract
.setLocation(new java
.awt
.Point(160, 110));
349 jTextFieldAbstract
.setSize(new java
.awt
.Dimension(320, 20));
350 jTextFieldAbstract
.addFocusListener(this);
351 jTextFieldAbstract
.setToolTipText("A one sentence description of this module");
353 return jTextFieldAbstract
;
357 This method initializes jComboBoxModuleType
359 @return javax.swing.JComboBox jComboBoxModuleType
362 private JComboBox
getJComboBoxModuleType() {
363 if (jComboBoxModuleType
== null) {
364 jComboBoxModuleType
= new JComboBox();
365 jComboBoxModuleType
.setBounds(new java
.awt
.Rectangle(160, 35, 320, 20));
366 jComboBoxModuleType
.setPreferredSize(new java
.awt
.Dimension(320, 20));
367 jComboBoxModuleType
.addFocusListener(this);
369 return jComboBoxModuleType
;
373 This method initializes jTextFieldCopyright
375 @return javax.swing.JTextField jTextFieldCopyright
378 private JTextField
getJTextFieldCopyright() {
379 if (jTextFieldCopyright
== null) {
380 jTextFieldCopyright
= new JTextField();
381 jTextFieldCopyright
.setPreferredSize(new java
.awt
.Dimension(320, 20));
382 jTextFieldCopyright
.setLocation(new java
.awt
.Point(160, 260));
383 jTextFieldCopyright
.setSize(new java
.awt
.Dimension(320, 20));
384 jTextFieldCopyright
.addFocusListener(this);
385 jTextFieldCopyright
.setToolTipText("One or more copyright lines");
387 return jTextFieldCopyright
;
391 * This method initializes jTextFieldURL
393 * @return javax.swing.JTextField
395 private JTextField
getJTextFieldURL() {
396 if (jTextFieldURL
== null) {
397 jTextFieldURL
= new JTextField();
398 jTextFieldURL
.setPreferredSize(new java
.awt
.Dimension(320, 20));
399 jTextFieldURL
.setLocation(new java
.awt
.Point(160, 410));
400 jTextFieldURL
.setSize(new java
.awt
.Dimension(320, 20));
401 jTextFieldURL
.addFocusListener(this);
402 jTextFieldURL
.setToolTipText("A URL for the latest version of the license");
404 return jTextFieldURL
;
408 * This method initializes jScrollPane
410 * @return javax.swing.JScrollPane
412 private JScrollPane
getJScrollPane() {
413 if (jScrollPane
== null) {
414 jScrollPane
= new JScrollPane();
415 jScrollPane
.setViewportView(getJContentPane());
420 public static void main(String
[] args
) {
425 This is the default constructor
431 this.setVisible(true);
435 This is the override edit constructor
437 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader
440 public MsaHeader(OpeningModuleType inMsa
) {
443 this.msa
= omt
.getXmlMsa();
446 // Set module definitions default value
448 if (msa
.getModuleDefinitions() == null) {
449 ModuleDefinitionsDocument
.ModuleDefinitions md
= ModuleDefinitionsDocument
.ModuleDefinitions
.Factory
.newInstance();
450 md
.setOutputFileBasename(msa
.getMsaHeader().getModuleName());
451 md
.setBinaryModule(false);
452 md
.setSupportedArchitectures(ed
.getVSupportedArchitectures());
453 msa
.setModuleDefinitions(md
);
455 init(msa
.getMsaHeader());
456 this.setVisible(true);
457 this.setViewMode(false);
461 Disable all components when the mode is view
463 @param isView true - The view mode; false - The non-view mode
466 public void setViewMode(boolean isView
) {
467 //this.jButtonOk.setVisible(false);
468 //this.jButtonCancel.setVisible(false);
470 this.jTextFieldBaseName
.setEnabled(!isView
);
471 this.jTextFieldGuid
.setEnabled(!isView
);
472 this.jTextFieldVersion
.setEnabled(!isView
);
473 this.jTextAreaLicense
.setEnabled(!isView
);
474 this.jTextFieldCopyright
.setEnabled(!isView
);
475 this.jTextAreaDescription
.setEnabled(!isView
);
476 this.jTextFieldSpecification
.setEnabled(!isView
);
477 this.jTextFieldAbstract
.setEnabled(!isView
);
478 this.jComboBoxModuleType
.setEnabled(!isView
);
479 this.jButtonCancel
.setEnabled(!isView
);
480 this.jButtonGenerateGuid
.setEnabled(!isView
);
481 this.jButtonOk
.setEnabled(!isView
);
486 This method initializes this
489 private void init() {
490 this.setSize(500, 515);
491 this.setPreferredSize(new java
.awt
.Dimension(490, 520));
492 this.setContentPane(getJScrollPane());
493 this.setTitle("Module Surface Area Header");
498 This method initializes this
499 Fill values to all fields if these values are not empty
501 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader
504 private void init(MsaHeaderDocument
.MsaHeader inMsaHeader
) {
506 if (inMsaHeader
!= null) {
507 setMsaHeader(inMsaHeader
);
508 if (this.msaHeader
.getModuleName() != null) {
509 this.jTextFieldBaseName
.setText(this.msaHeader
.getModuleName());
511 if (this.msaHeader
.getModuleType() != null) {
512 this.jComboBoxModuleType
.setSelectedItem(this.msaHeader
.getModuleType().toString());
514 if (this.msaHeader
.getGuidValue() != null) {
515 this.jTextFieldGuid
.setText(this.msaHeader
.getGuidValue());
517 if (this.msaHeader
.getVersion() != null) {
518 this.jTextFieldVersion
.setText(this.msaHeader
.getVersion());
520 if (this.msaHeader
.getAbstract() != null) {
521 this.jTextFieldAbstract
.setText(this.msaHeader
.getAbstract());
523 if (this.msaHeader
.getDescription() != null) {
524 this.jTextAreaDescription
.setText(this.msaHeader
.getDescription());
525 jTextAreaDescription
.setSelectionStart(0);
526 jTextAreaDescription
.setSelectionEnd(0);
528 if (this.msaHeader
.getCopyright() != null) {
529 this.jTextFieldCopyright
.setText(this.msaHeader
.getCopyright());
531 if (this.msaHeader
.getLicense() != null) {
532 this.jTextAreaLicense
.setText(this.msaHeader
.getLicense().getStringValue());
533 jTextAreaLicense
.setSelectionStart(0);
534 jTextAreaLicense
.setSelectionEnd(0);
536 if (this.msaHeader
.getLicense() != null && this.msaHeader
.getLicense().getURL() != null) {
537 this.jTextFieldURL
.setText(this.msaHeader
.getLicense().getURL());
539 if (this.msaHeader
.getSpecification() != null) {
540 this.jTextFieldSpecification
.setText(this.msaHeader
.getSpecification());
546 This method initializes jContentPane
548 @return javax.swing.JPanel jContentPane
551 private JPanel
getJContentPane() {
552 if (jContentPane
== null) {
554 jLabelURL
= new JLabel();
555 jLabelURL
.setText("License URL");
556 jLabelURL
.setLocation(new java
.awt
.Point(15, 410));
557 jLabelURL
.setSize(new java
.awt
.Dimension(140, 20));
558 jLabelBaseName
= new JLabel();
559 jLabelBaseName
.setText("Module Name");
560 jLabelBaseName
.setBounds(new java
.awt
.Rectangle(15, 10, 140, 20));
561 jLabelModuleType
= new JLabel();
562 jLabelModuleType
.setBounds(new java
.awt
.Rectangle(15, 35, 140, 20));
563 jLabelModuleType
.setText("Module Type");
564 jLabelGuid
= new JLabel();
565 jLabelGuid
.setText("Guid Value");
566 jLabelGuid
.setLocation(new java
.awt
.Point(15, 60));
567 jLabelGuid
.setSize(new java
.awt
.Dimension(140, 20));
568 jLabelVersion
= new JLabel();
569 jLabelVersion
.setText("Version");
570 jLabelVersion
.setLocation(new java
.awt
.Point(15, 85));
571 jLabelVersion
.setSize(new java
.awt
.Dimension(140, 20));
572 jLabelAbstract
= new JLabel();
573 jLabelAbstract
.setText("Abstract");
574 jLabelAbstract
.setLocation(new java
.awt
.Point(15, 110));
575 jLabelAbstract
.setSize(new java
.awt
.Dimension(140, 20));
576 jLabelDescription
= new JLabel();
577 jLabelDescription
.setText("Description");
578 jLabelDescription
.setLocation(new java
.awt
.Point(15, 135));
579 jLabelDescription
.setSize(new java
.awt
.Dimension(140, 20));
580 jLabelCopyright
= new JLabel();
581 jLabelCopyright
.setText("Copyright");
582 jLabelCopyright
.setLocation(new java
.awt
.Point(15, 260));
583 jLabelCopyright
.setSize(new java
.awt
.Dimension(140, 20));
584 jLabelLicense
= new JLabel();
585 jLabelLicense
.setText("License");
586 jLabelLicense
.setLocation(new java
.awt
.Point(15, 285));
587 jLabelLicense
.setSize(new java
.awt
.Dimension(140, 20));
588 jLabelSpecification
= new JLabel();
589 jLabelSpecification
.setText("Specification");
590 jLabelSpecification
.setLocation(new java
.awt
.Point(14, 435));
591 jLabelSpecification
.setSize(new java
.awt
.Dimension(140, 20));
593 jContentPane
= new JPanel();
594 jContentPane
.setLayout(null);
595 jContentPane
.setPreferredSize(new java
.awt
.Dimension(490, 470));
597 jContentPane
.add(jLabelBaseName
, null);
598 jContentPane
.add(getJTextFieldBaseName(), null);
599 jContentPane
.add(jLabelGuid
, null);
600 jContentPane
.add(getJTextFieldGuid(), null);
601 jContentPane
.add(jLabelVersion
, null);
602 jContentPane
.add(getJTextFieldVersion(), null);
603 jContentPane
.add(getJButtonGenerateGuid(), null);
604 jContentPane
.add(jLabelLicense
, null);
605 jContentPane
.add(jLabelCopyright
, null);
606 jContentPane
.add(jLabelDescription
, null);
607 jContentPane
.add(jLabelSpecification
, null);
608 jContentPane
.add(getJTextFieldSpecification(), null);
609 jContentPane
.add(getJButtonOk(), null);
610 jContentPane
.add(getJButtonCancel(), null);
611 jContentPane
.add(getJScrollPaneLicense(), null);
612 jContentPane
.add(getJScrollPaneDescription(), null);
613 jContentPane
.add(jLabelAbstract
, null);
614 jContentPane
.add(getJTextFieldAbstract(), null);
615 jContentPane
.add(jLabelModuleType
, null);
616 jContentPane
.add(getJComboBoxModuleType(), null);
617 jContentPane
.add(jLabelURL
, null);
618 jContentPane
.add(getJTextFieldURL(), null);
619 jContentPane
.add(getJTextFieldCopyright(), null);
620 jStarLabel1
= new StarLabel();
621 jStarLabel1
.setLocation(new java
.awt
.Point(0, 10));
622 jStarLabel2
= new StarLabel();
623 jStarLabel2
.setLocation(new java
.awt
.Point(0, 35));
624 jStarLabel4
= new StarLabel();
625 jStarLabel4
.setLocation(new java
.awt
.Point(0, 60));
626 jStarLabel5
= new StarLabel();
627 jStarLabel5
.setLocation(new java
.awt
.Point(0, 85));
628 jStarLabel6
= new StarLabel();
629 jStarLabel6
.setLocation(new java
.awt
.Point(0, 135));
630 jStarLabel7
= new StarLabel();
631 jStarLabel7
.setLocation(new java
.awt
.Point(0, 260));
632 jStarLabel8
= new StarLabel();
633 jStarLabel8
.setLocation(new java
.awt
.Point(0, 285));
634 jStarLabel10
= new StarLabel();
635 jStarLabel10
.setLocation(new java
.awt
.Point(0, 110));
636 jStarLabel12
= new StarLabel();
637 jStarLabel12
.setLocation(new java
.awt
.Point(0, 435));
639 jContentPane
.add(jStarLabel1
, null);
640 jContentPane
.add(jStarLabel2
, null);
641 jContentPane
.add(jStarLabel4
, null);
642 jContentPane
.add(jStarLabel5
, null);
643 jContentPane
.add(jStarLabel6
, null);
644 jContentPane
.add(jStarLabel7
, null);
645 jContentPane
.add(jStarLabel8
, null);
646 jContentPane
.add(jStarLabel10
, null);
647 jContentPane
.add(jStarLabel12
, null);
653 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
655 * Override actionPerformed to listen all actions
658 public void actionPerformed(ActionEvent arg0
) {
659 if (arg0
.getSource() == jButtonOk
) {
665 this.setEdited(true);
668 if (arg0
.getSource() == jButtonCancel
) {
669 this.setEdited(false);
671 if (arg0
.getSource() == jButtonGenerateGuid
) {
672 jTextFieldGuid
.setText(Tools
.generateUuidString());
677 Data validation for all fields
679 @retval true - All datas are valid
680 @retval false - At least one data is invalid
683 public boolean check() {
685 // Check if all required fields are not empty
686 // and check if all data fields values are valid
692 if (isEmpty(this.jTextFieldBaseName
.getText())) {
693 Log
.err("Base Name couldn't be empty");
694 //this.jTextFieldBaseName.requestFocus();
697 if (!DataValidation
.isBaseName(this.jTextFieldBaseName
.getText())) {
698 Log
.err("Incorrect data type for Base Name");
699 //this.jTextFieldBaseName.requestFocus();
706 if (isEmpty(this.jTextFieldGuid
.getText())) {
707 Log
.err("Guid Value couldn't be empty");
708 //this.jTextFieldGuid.requestFocus();
711 if (!DataValidation
.isGuid((this.jTextFieldGuid
).getText())) {
712 Log
.err("Incorrect data type for Guid");
713 //this.jTextFieldGuid.requestFocus();
720 if (isEmpty(this.jTextFieldVersion
.getText())) {
721 Log
.err("Version couldn't be empty");
722 //this.jTextFieldVersion.requestFocus();
725 if (!DataValidation
.isVersion(this.jTextFieldVersion
.getText())) {
726 Log
.err("Incorrect data type for Version");
727 //this.jTextFieldVersion.requestFocus();
734 if (isEmpty(this.jTextFieldAbstract
.getText())) {
735 Log
.err("Abstract couldn't be empty");
736 //this.jTextFieldAbstract.requestFocus();
739 if (!DataValidation
.isAbstract(this.jTextFieldAbstract
.getText())) {
740 Log
.err("Incorrect data type for Abstract");
741 //this.jTextFieldAbstract.requestFocus();
748 if (isEmpty(this.jTextAreaDescription
.getText())) {
749 Log
.err("Description couldn't be empty");
750 //this.jTextAreaDescription.requestFocus();
757 if (isEmpty(this.jTextFieldCopyright
.getText())) {
758 Log
.err("Copyright couldn't be empty");
759 //this.jTextFieldCopyright.requestFocus();
766 if (isEmpty(this.jTextAreaLicense
.getText())) {
767 Log
.err("License couldn't be empty");
768 //this.jTextAreaLicense.requestFocus();
773 // Check Specification
775 if (isEmpty(this.jTextFieldSpecification
.getText())) {
776 Log
.err("Specification couldn't be empty");
777 //this.jTextFieldSpecification.requestFocus();
780 if (!DataValidation
.isSpecification(this.jTextFieldSpecification
.getText())) {
781 Log
.err("Incorrect data type for Specification");
782 //this.jTextFieldSpecification.requestFocus();
790 Save all components of Msa Header
791 if exists msaHeader, set the value directly
792 if not exists msaHeader, new an instance first
797 // this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());
798 // this.msaHeader.setModuleType(ModuleTypeDef.Enum.forString(this.jComboBoxModuleType.getSelectedItem()
800 // this.msaHeader.setGuidValue(this.jTextFieldGuid.getText());
801 // this.msaHeader.setVersion(this.jTextFieldVersion.getText());
802 // this.msaHeader.setAbstract(this.jTextFieldAbstract.getText());
803 // this.msaHeader.setDescription(this.jTextAreaDescription.getText());
804 // this.msaHeader.setCopyright(this.jTextFieldCopyright.getText());
805 // if (this.msaHeader.getLicense() != null) {
806 // this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());
808 // License mLicense = License.Factory.newInstance();
809 // mLicense.setStringValue(this.jTextAreaLicense.getText());
810 // this.msaHeader.setLicense(mLicense);
812 // if (!isEmpty(this.jTextFieldURL.getText())) {
813 // this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());
815 // this.msaHeader.setSpecification(this.jTextFieldSpecification.getText());
817 msaHeader
.setSpecification(this.jTextFieldSpecification
.getText());
818 msaHeader
.setModuleType(ModuleTypeDef
.Enum
.forString(jComboBoxModuleType
.getSelectedItem().toString()));
819 msa
.setMsaHeader(msaHeader
);
820 this.omt
.setSaved(false);
821 } catch (Exception e
) {
822 Log
.err("Save Module", e
.getMessage());
827 This method initializes Module type and Compontent type
830 private void initFrame() {
831 EnumerationData ed
= new EnumerationData();
832 Tools
.generateComboBoxByVector(jComboBoxModuleType
, ed
.getVModuleType());
836 Get MsaHeaderDocument.MsaHeader
838 @return MsaHeaderDocument.MsaHeader
841 public MsaHeaderDocument
.MsaHeader
getMsaHeader() {
846 Set MsaHeaderDocument.MsaHeader
848 @param msaHeader The input data of MsaHeaderDocument.MsaHeader
851 public void setMsaHeader(MsaHeaderDocument
.MsaHeader msaHeader
) {
852 this.msaHeader
= msaHeader
;
856 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)
858 * Override componentResized to resize all components when frame's size is changed
860 public void componentResized(ComponentEvent arg0
) {
861 int intCurrentWidth
= this.getJContentPane().getWidth();
862 int intPreferredWidth
= this.getJContentPane().getPreferredSize().width
;
864 resizeComponentWidth(this.jTextFieldBaseName
, intCurrentWidth
, intPreferredWidth
);
865 resizeComponentWidth(this.jTextFieldGuid
, intCurrentWidth
, intPreferredWidth
);
866 resizeComponentWidth(this.jTextFieldVersion
, intCurrentWidth
, intPreferredWidth
);
867 resizeComponentWidth(this.jScrollPaneLicense
, intCurrentWidth
, intPreferredWidth
);
868 resizeComponentWidth(this.jTextFieldURL
, intCurrentWidth
, intPreferredWidth
);
869 resizeComponentWidth(this.jTextFieldCopyright
, intCurrentWidth
, intPreferredWidth
);
870 resizeComponentWidth(this.jScrollPaneDescription
, intCurrentWidth
, intPreferredWidth
);
871 resizeComponentWidth(this.jTextFieldSpecification
, intCurrentWidth
, intPreferredWidth
);
872 resizeComponentWidth(this.jTextFieldAbstract
, intCurrentWidth
, intPreferredWidth
);
873 resizeComponentWidth(this.jComboBoxModuleType
, intCurrentWidth
, intPreferredWidth
);
874 relocateComponentX(this.jButtonGenerateGuid
, intCurrentWidth
, intPreferredWidth
,
875 DataType
.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON
);
878 public void focusLost(FocusEvent arg0
) {
879 if (this.msaHeader
== null) {
880 msaHeader
= MsaHeaderDocument
.MsaHeader
.Factory
.newInstance();
886 if (arg0
.getSource() == this.jTextFieldBaseName
) {
887 if (isEmpty(this.jTextFieldBaseName
.getText())) {
888 Log
.err("Base Name couldn't be empty");
889 //this.jTextFieldBaseName.requestFocus();
892 if (!DataValidation
.isBaseName(this.jTextFieldBaseName
.getText())) {
893 Log
.err("Incorrect data type for Base Name");
894 //this.jTextFieldBaseName.requestFocus();
897 this.msaHeader
.setModuleName(this.jTextFieldBaseName
.getText());
903 if (arg0
.getSource() == this.jComboBoxModuleType
) {
904 //msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString()));
910 if (arg0
.getSource() == this.jTextFieldGuid
) {
911 if (isEmpty(this.jTextFieldGuid
.getText())) {
912 Log
.err("Guid Value couldn't be empty");
913 //this.jTextFieldGuid.requestFocus();
916 if (!DataValidation
.isGuid((this.jTextFieldGuid
).getText())) {
917 Log
.err("Incorrect data type for Guid");
918 //this.jTextFieldGuid.requestFocus();
921 this.msaHeader
.setGuidValue(jTextFieldGuid
.getText());
927 if (arg0
.getSource() == this.jTextFieldVersion
) {
929 if (isEmpty(this.jTextFieldVersion
.getText())) {
930 Log
.err("Version couldn't be empty");
931 //this.jTextFieldVersion.requestFocus();
934 if (!DataValidation
.isVersion(this.jTextFieldVersion
.getText())) {
935 Log
.err("Incorrect data type for Version");
936 //this.jTextFieldVersion.requestFocus();
939 this.msaHeader
.setVersion(this.jTextFieldVersion
.getText());
945 if (arg0
.getSource() == this.jTextFieldAbstract
) {
946 if (isEmpty(this.jTextFieldAbstract
.getText())) {
947 Log
.err("Abstract couldn't be empty");
948 //this.jTextFieldAbstract.requestFocus();
951 if (!DataValidation
.isAbstract(this.jTextFieldAbstract
.getText())) {
952 Log
.err("Incorrect data type for Abstract");
953 //this.jTextFieldAbstract.requestFocus();
956 this.msaHeader
.setAbstract(this.jTextFieldAbstract
.getText());
962 if (arg0
.getSource() == this.jTextAreaDescription
) {
963 if (isEmpty(this.jTextAreaDescription
.getText())) {
964 Log
.err("Description couldn't be empty");
965 //this.jTextAreaDescription.requestFocus();
968 this.msaHeader
.setDescription(this.jTextAreaDescription
.getText());
974 if (arg0
.getSource() == this.jTextFieldCopyright
) {
975 if (isEmpty(this.jTextFieldCopyright
.getText())) {
976 Log
.err("Copyright couldn't be empty");
977 //this.jTextFieldCopyright.requestFocus();
980 this.msaHeader
.setCopyright(this.jTextFieldCopyright
.getText());
986 if (arg0
.getSource() == this.jTextAreaLicense
) {
987 if (isEmpty(this.jTextAreaLicense
.getText())) {
988 Log
.err("License couldn't be empty");
989 //this.jTextAreaLicense.requestFocus();
992 if (this.msaHeader
.getLicense() != null) {
993 this.msaHeader
.getLicense().setStringValue(this.jTextAreaLicense
.getText());
995 License mLicense
= License
.Factory
.newInstance();
996 mLicense
.setStringValue(this.jTextAreaLicense
.getText());
997 this.msaHeader
.setLicense(mLicense
);
1002 // Check License URL
1004 if (arg0
.getSource() == this.jTextFieldURL
) {
1005 if (!isEmpty(this.jTextFieldURL
.getText())) {
1006 if (this.msaHeader
.getLicense() == null) {
1007 License mLicense
= License
.Factory
.newInstance();
1008 mLicense
.setURL(this.jTextFieldURL
.getText());
1009 this.msaHeader
.setLicense(mLicense
);
1011 this.msaHeader
.getLicense().setURL(this.jTextFieldURL
.getText());