]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/MsaHeader.java
Fixed a spelling error and changed the Package Headers Tab title to be Package Header...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / ui / MsaHeader.java
1 /** @file
2
3 The file is used to create, update MsaHeader of MSA 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.module.ui;
17
18 import java.awt.event.ActionEvent;
19 import java.awt.event.ComponentEvent;
20 import java.awt.event.FocusEvent;
21
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;
29
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;
43
44 /**
45 The class is used to create, update MsaHeader of MSA file
46 It extends IInternalFrame
47
48
49
50 **/
51 public class MsaHeader extends IInternalFrame {
52
53 ///
54 /// Define class Serial Version UID
55 ///
56 private static final long serialVersionUID = -8152099582923006900L;
57
58 //
59 //Define class members
60 //
61 private JPanel jContentPane = null;
62
63 private JLabel jLabelBaseName = null;
64
65 private JTextField jTextFieldBaseName = null;
66
67 private JLabel jLabelGuid = null;
68
69 private JTextField jTextFieldGuid = null;
70
71 private JLabel jLabelVersion = null;
72
73 private JTextField jTextFieldVersion = null;
74
75 private JButton jButtonGenerateGuid = null;
76
77 private JLabel jLabelLicense = null;
78
79 private JTextArea jTextAreaLicense = null;
80
81 private JLabel jLabelCopyright = null;
82
83 private JLabel jLabelDescription = null;
84
85 private JTextArea jTextAreaDescription = null;
86
87 private JLabel jLabelSpecification = null;
88
89 private JTextField jTextFieldSpecification = null;
90
91 private JButton jButtonOk = null;
92
93 private JButton jButtonCancel = null;
94
95 private JScrollPane jScrollPaneLicense = null;
96
97 private JScrollPane jScrollPaneDescription = null;
98
99 private JLabel jLabelAbstract = null;
100
101 private JTextField jTextFieldAbstract = null;
102
103 private JLabel jLabelModuleType = null;
104
105 private JComboBox jComboBoxModuleType = null;
106
107 private StarLabel jStarLabel1 = null;
108
109 private StarLabel jStarLabel2 = null;
110
111 private StarLabel jStarLabel4 = null;
112
113 private StarLabel jStarLabel5 = null;
114
115 private StarLabel jStarLabel6 = null;
116
117 private StarLabel jStarLabel7 = null;
118
119 private StarLabel jStarLabel8 = null;
120
121 private StarLabel jStarLabel10 = null;
122
123 private StarLabel jStarLabel12 = null;
124
125 private MsaHeaderDocument.MsaHeader msaHeader = null;
126
127 private ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;
128
129 private JTextField jTextFieldCopyright = null;
130
131 private JLabel jLabelURL = null;
132
133 private JTextField jTextFieldURL = null;
134
135 private JScrollPane jScrollPane = null;
136
137 private OpeningModuleType omt = null;
138
139 private EnumerationData ed = new EnumerationData();
140
141 /**
142 This method initializes jTextFieldBaseName
143
144 @return javax.swing.JTextField jTextFieldBaseName
145
146 **/
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");
154 }
155 return jTextFieldBaseName;
156 }
157
158 /**
159 This method initializes jTextFieldGuid
160
161 @return javax.swing.JTextField jTextFieldGuid
162
163 **/
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)");
172 }
173 return jTextFieldGuid;
174 }
175
176 /**
177 This method initializes jTextFieldVersion
178
179 @return javax.swing.JTextField jTextFieldVersion
180
181 **/
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");
190 }
191 return jTextFieldVersion;
192 }
193
194 /**
195 This method initializes jButtonGenerateGuid
196
197 @return javax.swing.JButton jButtonGenerateGuid
198
199 **/
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);
208 }
209 return jButtonGenerateGuid;
210 }
211
212 /**
213 This method initializes jTextAreaLicense
214
215 @return javax.swing.JTextArea jTextAreaLicense
216
217 **/
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");
225 }
226 return jTextAreaLicense;
227 }
228
229 /**
230 This method initializes jTextAreaDescription
231
232 @return javax.swing.JTextArea jTextAreaDescription
233
234 **/
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);
243 }
244 return jTextAreaDescription;
245 }
246
247 /**
248 This method initializes jTextFieldSpecification
249
250 @return javax.swing.JTextField jTextFieldSpecification
251
252 **/
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);
262 }
263 return jTextFieldSpecification;
264 }
265
266 /**
267 This method initializes jButtonOk
268
269 @return javax.swing.JButton jButtonOk
270
271 **/
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);
280 }
281 return jButtonOk;
282 }
283
284 /**
285 This method initializes jButtonCancel
286
287 @return javax.swing.JButton jButtonCancel
288
289 **/
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);
298 }
299 return jButtonCancel;
300 }
301
302 /**
303 This method initializes jScrollPaneLicense
304
305 @return javax.swing.JScrollPane jScrollPaneLicense
306
307 **/
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));
316 }
317 return jScrollPaneLicense;
318 }
319
320 /**
321 This method initializes jScrollPaneDescription
322
323 @return javax.swing.JScrollPane jScrollPaneDescription
324
325 **/
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));
334 }
335 return jScrollPaneDescription;
336 }
337
338 /**
339 This method initializes jTextFieldAbstract
340
341 @return javax.swing.JTextField jTextFieldAbstract
342
343 **/
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");
352 }
353 return jTextFieldAbstract;
354 }
355
356 /**
357 This method initializes jComboBoxModuleType
358
359 @return javax.swing.JComboBox jComboBoxModuleType
360
361 **/
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);
368 }
369 return jComboBoxModuleType;
370 }
371
372 /**
373 This method initializes jTextFieldCopyright
374
375 @return javax.swing.JTextField jTextFieldCopyright
376
377 **/
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");
386 }
387 return jTextFieldCopyright;
388 }
389
390 /**
391 * This method initializes jTextFieldURL
392 *
393 * @return javax.swing.JTextField
394 */
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");
403 }
404 return jTextFieldURL;
405 }
406
407 /**
408 * This method initializes jScrollPane
409 *
410 * @return javax.swing.JScrollPane
411 */
412 private JScrollPane getJScrollPane() {
413 if (jScrollPane == null) {
414 jScrollPane = new JScrollPane();
415 jScrollPane.setViewportView(getJContentPane());
416 }
417 return jScrollPane;
418 }
419
420 public static void main(String[] args) {
421
422 }
423
424 /**
425 This is the default constructor
426
427 **/
428 public MsaHeader() {
429 super();
430 init();
431 this.setVisible(true);
432 }
433
434 /**
435 This is the override edit constructor
436
437 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader
438
439 **/
440 public MsaHeader(OpeningModuleType inMsa) {
441 super();
442 this.omt = inMsa;
443 this.msa = omt.getXmlMsa();
444
445 //
446 // Set module definitions default value
447 //
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);
454 }
455 init(msa.getMsaHeader());
456 this.setVisible(true);
457 this.setViewMode(false);
458 }
459
460 /**
461 Disable all components when the mode is view
462
463 @param isView true - The view mode; false - The non-view mode
464
465 **/
466 public void setViewMode(boolean isView) {
467 //this.jButtonOk.setVisible(false);
468 //this.jButtonCancel.setVisible(false);
469 if (isView) {
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);
482 }
483 }
484
485 /**
486 This method initializes this
487
488 **/
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");
494 initFrame();
495 }
496
497 /**
498 This method initializes this
499 Fill values to all fields if these values are not empty
500
501 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader
502
503 **/
504 private void init(MsaHeaderDocument.MsaHeader inMsaHeader) {
505 init();
506 if (inMsaHeader != null) {
507 setMsaHeader(inMsaHeader);
508 if (this.msaHeader.getModuleName() != null) {
509 this.jTextFieldBaseName.setText(this.msaHeader.getModuleName());
510 }
511 if (this.msaHeader.getModuleType() != null) {
512 this.jComboBoxModuleType.setSelectedItem(this.msaHeader.getModuleType().toString());
513 }
514 if (this.msaHeader.getGuidValue() != null) {
515 this.jTextFieldGuid.setText(this.msaHeader.getGuidValue());
516 }
517 if (this.msaHeader.getVersion() != null) {
518 this.jTextFieldVersion.setText(this.msaHeader.getVersion());
519 }
520 if (this.msaHeader.getAbstract() != null) {
521 this.jTextFieldAbstract.setText(this.msaHeader.getAbstract());
522 }
523 if (this.msaHeader.getDescription() != null) {
524 this.jTextAreaDescription.setText(this.msaHeader.getDescription());
525 jTextAreaDescription.setSelectionStart(0);
526 jTextAreaDescription.setSelectionEnd(0);
527 }
528 if (this.msaHeader.getCopyright() != null) {
529 this.jTextFieldCopyright.setText(this.msaHeader.getCopyright());
530 }
531 if (this.msaHeader.getLicense() != null) {
532 this.jTextAreaLicense.setText(this.msaHeader.getLicense().getStringValue());
533 jTextAreaLicense.setSelectionStart(0);
534 jTextAreaLicense.setSelectionEnd(0);
535 }
536 if (this.msaHeader.getLicense() != null && this.msaHeader.getLicense().getURL() != null) {
537 this.jTextFieldURL.setText(this.msaHeader.getLicense().getURL());
538 }
539 if (this.msaHeader.getSpecification() != null) {
540 this.jTextFieldSpecification.setText(this.msaHeader.getSpecification());
541 }
542 }
543 }
544
545 /**
546 This method initializes jContentPane
547
548 @return javax.swing.JPanel jContentPane
549
550 **/
551 private JPanel getJContentPane() {
552 if (jContentPane == null) {
553
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));
592
593 jContentPane = new JPanel();
594 jContentPane.setLayout(null);
595 jContentPane.setPreferredSize(new java.awt.Dimension(490, 470));
596
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));
638
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);
648 }
649 return jContentPane;
650 }
651
652 /* (non-Javadoc)
653 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
654 *
655 * Override actionPerformed to listen all actions
656 *
657 */
658 public void actionPerformed(ActionEvent arg0) {
659 if (arg0.getSource() == jButtonOk) {
660 if (this.check()) {
661 this.save();
662 } else {
663 return;
664 }
665 this.setEdited(true);
666 this.dispose();
667 }
668 if (arg0.getSource() == jButtonCancel) {
669 this.setEdited(false);
670 }
671 if (arg0.getSource() == jButtonGenerateGuid) {
672 jTextFieldGuid.setText(Tools.generateUuidString());
673 }
674 }
675
676 /**
677 Data validation for all fields
678
679 @retval true - All datas are valid
680 @retval false - At least one data is invalid
681
682 **/
683 public boolean check() {
684 //
685 // Check if all required fields are not empty
686 // and check if all data fields values are valid
687 //
688
689 //
690 // Check Base Name
691 //
692 if (isEmpty(this.jTextFieldBaseName.getText())) {
693 Log.err("Base Name couldn't be empty");
694 //this.jTextFieldBaseName.requestFocus();
695 return false;
696 }
697 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {
698 Log.err("Incorrect data type for Base Name");
699 //this.jTextFieldBaseName.requestFocus();
700 return false;
701 }
702
703 //
704 // Check Guid
705 //
706 if (isEmpty(this.jTextFieldGuid.getText())) {
707 Log.err("Guid Value couldn't be empty");
708 //this.jTextFieldGuid.requestFocus();
709 return false;
710 }
711 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {
712 Log.err("Incorrect data type for Guid");
713 //this.jTextFieldGuid.requestFocus();
714 return false;
715 }
716
717 //
718 // Check Version
719 //
720 if (isEmpty(this.jTextFieldVersion.getText())) {
721 Log.err("Version couldn't be empty");
722 //this.jTextFieldVersion.requestFocus();
723 return false;
724 }
725 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {
726 Log.err("Incorrect data type for Version");
727 //this.jTextFieldVersion.requestFocus();
728 return false;
729 }
730
731 //
732 // Check Abstact
733 //
734 if (isEmpty(this.jTextFieldAbstract.getText())) {
735 Log.err("Abstract couldn't be empty");
736 //this.jTextFieldAbstract.requestFocus();
737 return false;
738 }
739 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {
740 Log.err("Incorrect data type for Abstract");
741 //this.jTextFieldAbstract.requestFocus();
742 return false;
743 }
744
745 //
746 // Check Description
747 //
748 if (isEmpty(this.jTextAreaDescription.getText())) {
749 Log.err("Description couldn't be empty");
750 //this.jTextAreaDescription.requestFocus();
751 return false;
752 }
753
754 //
755 // Check Copyright
756 //
757 if (isEmpty(this.jTextFieldCopyright.getText())) {
758 Log.err("Copyright couldn't be empty");
759 //this.jTextFieldCopyright.requestFocus();
760 return false;
761 }
762
763 //
764 // Check License
765 //
766 if (isEmpty(this.jTextAreaLicense.getText())) {
767 Log.err("License couldn't be empty");
768 //this.jTextAreaLicense.requestFocus();
769 return false;
770 }
771
772 //
773 // Check Specification
774 //
775 if (isEmpty(this.jTextFieldSpecification.getText())) {
776 Log.err("Specification couldn't be empty");
777 //this.jTextFieldSpecification.requestFocus();
778 return false;
779 }
780 if (!DataValidation.isSpecification(this.jTextFieldSpecification.getText())) {
781 Log.err("Incorrect data type for Specification");
782 //this.jTextFieldSpecification.requestFocus();
783 return false;
784 }
785
786 return true;
787 }
788
789 /**
790 Save all components of Msa Header
791 if exists msaHeader, set the value directly
792 if not exists msaHeader, new an instance first
793
794 **/
795 public void save() {
796 try {
797 // this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());
798 // this.msaHeader.setModuleType(ModuleTypeDef.Enum.forString(this.jComboBoxModuleType.getSelectedItem()
799 // .toString()));
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());
807 // } else {
808 // License mLicense = License.Factory.newInstance();
809 // mLicense.setStringValue(this.jTextAreaLicense.getText());
810 // this.msaHeader.setLicense(mLicense);
811 // }
812 // if (!isEmpty(this.jTextFieldURL.getText())) {
813 // this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());
814 // }
815 // this.msaHeader.setSpecification(this.jTextFieldSpecification.getText());
816
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());
823 }
824 }
825
826 /**
827 This method initializes Module type and Compontent type
828
829 **/
830 private void initFrame() {
831 EnumerationData ed = new EnumerationData();
832 Tools.generateComboBoxByVector(jComboBoxModuleType, ed.getVModuleType());
833 }
834
835 /**
836 Get MsaHeaderDocument.MsaHeader
837
838 @return MsaHeaderDocument.MsaHeader
839
840 **/
841 public MsaHeaderDocument.MsaHeader getMsaHeader() {
842 return msaHeader;
843 }
844
845 /**
846 Set MsaHeaderDocument.MsaHeader
847
848 @param msaHeader The input data of MsaHeaderDocument.MsaHeader
849
850 **/
851 public void setMsaHeader(MsaHeaderDocument.MsaHeader msaHeader) {
852 this.msaHeader = msaHeader;
853 }
854
855 /* (non-Javadoc)
856 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)
857 *
858 * Override componentResized to resize all components when frame's size is changed
859 */
860 public void componentResized(ComponentEvent arg0) {
861 int intCurrentWidth = this.getJContentPane().getWidth();
862 int intPreferredWidth = this.getJContentPane().getPreferredSize().width;
863
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);
876 }
877
878 public void focusLost(FocusEvent arg0) {
879 if (this.msaHeader == null) {
880 msaHeader = MsaHeaderDocument.MsaHeader.Factory.newInstance();
881 }
882
883 //
884 // Check BaseName
885 //
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();
890 return;
891 }
892 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {
893 Log.err("Incorrect data type for Base Name");
894 //this.jTextFieldBaseName.requestFocus();
895 return;
896 }
897 this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());
898 }
899
900 //
901 // Check Module Type
902 //
903 if (arg0.getSource() == this.jComboBoxModuleType) {
904 //msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString()));
905 }
906
907 //
908 // Check Guid
909 //
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();
914 return;
915 }
916 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {
917 Log.err("Incorrect data type for Guid");
918 //this.jTextFieldGuid.requestFocus();
919 return;
920 }
921 this.msaHeader.setGuidValue(jTextFieldGuid.getText());
922 }
923
924 //
925 // Check Version
926 //
927 if (arg0.getSource() == this.jTextFieldVersion) {
928
929 if (isEmpty(this.jTextFieldVersion.getText())) {
930 Log.err("Version couldn't be empty");
931 //this.jTextFieldVersion.requestFocus();
932 return;
933 }
934 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {
935 Log.err("Incorrect data type for Version");
936 //this.jTextFieldVersion.requestFocus();
937 return;
938 }
939 this.msaHeader.setVersion(this.jTextFieldVersion.getText());
940 }
941
942 //
943 // Check Abstact
944 //
945 if (arg0.getSource() == this.jTextFieldAbstract) {
946 if (isEmpty(this.jTextFieldAbstract.getText())) {
947 Log.err("Abstract couldn't be empty");
948 //this.jTextFieldAbstract.requestFocus();
949 return;
950 }
951 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {
952 Log.err("Incorrect data type for Abstract");
953 //this.jTextFieldAbstract.requestFocus();
954 return;
955 }
956 this.msaHeader.setAbstract(this.jTextFieldAbstract.getText());
957 }
958
959 //
960 // Check Description
961 //
962 if (arg0.getSource() == this.jTextAreaDescription) {
963 if (isEmpty(this.jTextAreaDescription.getText())) {
964 Log.err("Description couldn't be empty");
965 //this.jTextAreaDescription.requestFocus();
966 return;
967 }
968 this.msaHeader.setDescription(this.jTextAreaDescription.getText());
969 }
970
971 //
972 // Check Copyright
973 //
974 if (arg0.getSource() == this.jTextFieldCopyright) {
975 if (isEmpty(this.jTextFieldCopyright.getText())) {
976 Log.err("Copyright couldn't be empty");
977 //this.jTextFieldCopyright.requestFocus();
978 return;
979 }
980 this.msaHeader.setCopyright(this.jTextFieldCopyright.getText());
981 }
982
983 //
984 // Check License
985 //
986 if (arg0.getSource() == this.jTextAreaLicense) {
987 if (isEmpty(this.jTextAreaLicense.getText())) {
988 Log.err("License couldn't be empty");
989 //this.jTextAreaLicense.requestFocus();
990 return;
991 }
992 if (this.msaHeader.getLicense() != null) {
993 this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());
994 } else {
995 License mLicense = License.Factory.newInstance();
996 mLicense.setStringValue(this.jTextAreaLicense.getText());
997 this.msaHeader.setLicense(mLicense);
998 }
999 }
1000
1001 //
1002 // Check License URL
1003 //
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);
1010 } else {
1011 this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());
1012 }
1013 }
1014 }
1015
1016 this.save();
1017 }
1018 }