]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/ModuleEditor/src/org/tianocore/packaging/module/ui/MsaLibHeader.java
Initial import.
[mirror_edk2.git] / Tools / Source / ModuleEditor / src / org / tianocore / packaging / module / ui / MsaLibHeader.java
CommitLineData
878ddf1f 1/** @file\r
2 \r
3 The file is used to create, update MsaLibHeader of a MSA file\r
4 \r
5 Copyright (c) 2006, Intel Corporation\r
6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 **/\r
15\r
16package org.tianocore.packaging.module.ui;\r
17\r
18import java.awt.event.ActionEvent;\r
19\r
20import javax.swing.JButton;\r
21import javax.swing.JComboBox;\r
22import javax.swing.JLabel;\r
23import javax.swing.JPanel;\r
24import javax.swing.JScrollPane;\r
25import javax.swing.JTextArea;\r
26import javax.swing.JTextField;\r
27\r
28import org.tianocore.AbstractDocument;\r
29import org.tianocore.BaseNameDocument;\r
30import org.tianocore.FrameworkComponentTypes;\r
31import org.tianocore.GuidDocument;\r
32import org.tianocore.LicenseDocument;\r
33import org.tianocore.ModuleTypeDef;\r
34import org.tianocore.MsaLibHeaderDocument;\r
35import org.tianocore.SpecificationDocument;\r
36import org.tianocore.common.DataValidation;\r
37import org.tianocore.common.Log;\r
38import org.tianocore.common.Tools;\r
39import org.tianocore.packaging.common.ui.IInternalFrame;\r
40import org.tianocore.packaging.common.ui.StarLabel;\r
41\r
42/**\r
43 The class is used to create, update MsaLibHeader of a MSA file\r
44 It extends IInternalFrame\r
45 \r
46 @since ModuleEditor 1.0\r
47\r
48 **/\r
49public class MsaLibHeader extends IInternalFrame {\r
50\r
51 ///\r
52 /// Define class Serial Version UID\r
53 ///\r
54 private static final long serialVersionUID = 5526729363068526262L;\r
55\r
56 //\r
57 //Define class members\r
58 //\r
59 private JPanel jContentPane = null;\r
60\r
61 private JLabel jLabelBaseName = null;\r
62\r
63 private JTextField jTextFieldBaseName = null;\r
64\r
65 private JLabel jLabelGuid = null;\r
66\r
67 private JTextField jTextFieldGuid = null;\r
68\r
69 private JLabel jLabelVersion = null;\r
70\r
71 private JTextField jTextFieldVersion = null;\r
72\r
73 private JButton jButtonGenerateGuid = null;\r
74\r
75 private JLabel jLabelLicense = null;\r
76\r
77 private JTextArea jTextAreaLicense = null;\r
78\r
79 private JLabel jLabelCopyright = null;\r
80\r
81 private JTextArea jTextAreaCopyright = null;\r
82\r
83 private JLabel jLabelDescription = null;\r
84\r
85 private JTextArea jTextAreaDescription = null;\r
86\r
87 private JLabel jLabelSpecification = null;\r
88\r
89 private JTextField jTextFieldSpecification = null;\r
90\r
91 private JTextField jTextFieldSpecificationVersion = null;\r
92\r
93 private JButton jButtonOk = null;\r
94\r
95 private JButton jButtonCancel = null;\r
96\r
97 private JScrollPane jScrollPaneLicense = null;\r
98\r
99 private JScrollPane jScrollPaneCopyright = null;\r
100\r
101 private JScrollPane jScrollPaneDescription = null;\r
102\r
103 private JLabel jLabelSpecVersion = null;\r
104\r
105 private JLabel jLabelAbstract = null;\r
106\r
107 private JTextField jTextFieldAbstract = null;\r
108\r
109 private JLabel jLabelModuleType = null;\r
110\r
111 private JLabel jLabelCompontentType = null;\r
112\r
113 private JComboBox jComboBoxCompontentType = null;\r
114\r
115 private JComboBox jComboBoxModuleType = null;\r
116\r
117 private StarLabel jStarLabel1 = null;\r
118\r
119 private StarLabel jStarLabel2 = null;\r
120\r
121 private StarLabel jStarLabel3 = null;\r
122\r
123 private StarLabel jStarLabel4 = null;\r
124\r
125 private StarLabel jStarLabel5 = null;\r
126\r
127 private StarLabel jStarLabel6 = null;\r
128\r
129 private StarLabel jStarLabel7 = null;\r
130\r
131 private StarLabel jStarLabel8 = null;\r
132\r
133 private StarLabel jStarLabel9 = null;\r
134\r
135 private MsaLibHeaderDocument.MsaLibHeader msaLibHeader = null;\r
136\r
137 private JLabel jLabelURL = null;\r
138\r
139 private JTextField jTextFieldAbstractURL = null;\r
140\r
141 /**\r
142 This method initializes jTextFieldBaseName \r
143 \r
144 @return javax.swing.JTextField jTextFieldBaseName\r
145 \r
146 **/\r
147 private JTextField getJTextFieldBaseName() {\r
148 if (jTextFieldBaseName == null) {\r
149 jTextFieldBaseName = new JTextField();\r
150 jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
151 }\r
152 return jTextFieldBaseName;\r
153 }\r
154\r
155 /**\r
156 This method initializes jTextFieldGuid \r
157 \r
158 @return javax.swing.JTextField jTextFieldGuid\r
159 \r
160 **/\r
161 private JTextField getJTextFieldGuid() {\r
162 if (jTextFieldGuid == null) {\r
163 jTextFieldGuid = new JTextField();\r
164 jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 240, 20));\r
165 }\r
166 return jTextFieldGuid;\r
167 }\r
168\r
169 /**\r
170 This method initializes jTextFieldVersion \r
171 \r
172 @return javax.swing.JTextField jTextFieldVersion\r
173 \r
174 **/\r
175 private JTextField getJTextFieldVersion() {\r
176 if (jTextFieldVersion == null) {\r
177 jTextFieldVersion = new JTextField();\r
178 jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
179 }\r
180 return jTextFieldVersion;\r
181 }\r
182\r
183 /**\r
184 This method initializes jButtonGenerateGuid \r
185 \r
186 @return javax.swing.JButton jButtonGenerateGuid\r
187 \r
188 **/\r
189 private JButton getJButtonGenerateGuid() {\r
190 if (jButtonGenerateGuid == null) {\r
191 jButtonGenerateGuid = new JButton();\r
192 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(405, 35, 75, 20));\r
193 jButtonGenerateGuid.setText("GEN");\r
194 jButtonGenerateGuid.addActionListener(this);\r
195 }\r
196 return jButtonGenerateGuid;\r
197 }\r
198\r
199 /**\r
200 This method initializes jTextAreaLicense \r
201 \r
202 @return javax.swing.JTextArea jTextAreaLicense\r
203 \r
204 **/\r
205 private JTextArea getJTextAreaLicense() {\r
206 if (jTextAreaLicense == null) {\r
207 jTextAreaLicense = new JTextArea();\r
208 jTextAreaLicense.setText("");\r
209 jTextAreaLicense.setLineWrap(true);\r
210 }\r
211 return jTextAreaLicense;\r
212 }\r
213\r
214 /**\r
215 This method initializes jTextAreaCopyright \r
216 \r
217 @return javax.swing.JTextArea jTextAreaCopyright\r
218 \r
219 **/\r
220 private JTextArea getJTextAreaCopyright() {\r
221 if (jTextAreaCopyright == null) {\r
222 jTextAreaCopyright = new JTextArea();\r
223 jTextAreaCopyright.setLineWrap(true);\r
224 }\r
225 return jTextAreaCopyright;\r
226 }\r
227\r
228 /**\r
229 This method initializes jTextAreaDescription \r
230 \r
231 @return javax.swing.JTextArea jTextAreaDescription\r
232 \r
233 **/\r
234 private JTextArea getJTextAreaDescription() {\r
235 if (jTextAreaDescription == null) {\r
236 jTextAreaDescription = new JTextArea();\r
237 jTextAreaDescription.setLineWrap(true);\r
238 }\r
239 return jTextAreaDescription;\r
240 }\r
241\r
242 /**\r
243 This method initializes jTextFieldSpecification \r
244 \r
245 @return javax.swing.JTextField jTextFieldSpecification\r
246 \r
247 **/\r
248 private JTextField getJTextFieldSpecification() {\r
249 if (jTextFieldSpecification == null) {\r
250 jTextFieldSpecification = new JTextField();\r
251 jTextFieldSpecification.setBounds(new java.awt.Rectangle(160, 340, 220, 20));\r
252 }\r
253 return jTextFieldSpecification;\r
254 }\r
255\r
256 /**\r
257 This method initializes jTextFieldSpecificationVersion \r
258 \r
259 @return javax.swing.JTextField jTextFieldSpecificationVersion\r
260 \r
261 **/\r
262 private JTextField getJTextFieldSpecificationVersion() {\r
263 if (jTextFieldSpecificationVersion == null) {\r
264 jTextFieldSpecificationVersion = new JTextField();\r
265 jTextFieldSpecificationVersion.setBounds(new java.awt.Rectangle(400, 340, 80, 20));\r
266 }\r
267 return jTextFieldSpecificationVersion;\r
268 }\r
269\r
270 /**\r
271 This method initializes jButtonOk \r
272 \r
273 @return javax.swing.JButton jButtonOk\r
274 \r
275 **/\r
276 private JButton getJButtonOk() {\r
277 if (jButtonOk == null) {\r
278 jButtonOk = new JButton();\r
279 jButtonOk.setText("OK");\r
280 jButtonOk.setBounds(new java.awt.Rectangle(290, 445, 90, 20));\r
281 jButtonOk.addActionListener(this);\r
282 }\r
283 return jButtonOk;\r
284 }\r
285\r
286 /**\r
287 This method initializes jButtonCancel \r
288 \r
289 @return javax.swing.JButton jButtonCancel\r
290 \r
291 **/\r
292 private JButton getJButtonCancel() {\r
293 if (jButtonCancel == null) {\r
294 jButtonCancel = new JButton();\r
295 jButtonCancel.setText("Cancel");\r
296 jButtonCancel.setBounds(new java.awt.Rectangle(390, 445, 90, 20));\r
297 jButtonCancel.addActionListener(this);\r
298 }\r
299 return jButtonCancel;\r
300 }\r
301\r
302 /**\r
303 This method initializes jScrollPaneLicense \r
304 \r
305 @return javax.swing.JScrollPane jScrollPaneLicense\r
306 \r
307 **/\r
308 private JScrollPane getJScrollPaneLicense() {\r
309 if (jScrollPaneLicense == null) {\r
310 jScrollPaneLicense = new JScrollPane();\r
311 jScrollPaneLicense.setBounds(new java.awt.Rectangle(160, 85, 320, 80));\r
312 jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
313 jScrollPaneLicense.setViewportView(getJTextAreaLicense());\r
314 }\r
315 return jScrollPaneLicense;\r
316 }\r
317\r
318 /**\r
319 This method initializes jScrollPaneCopyright \r
320 \r
321 @return javax.swing.JScrollPane jScrollPaneCopyright\r
322 \r
323 **/\r
324 private JScrollPane getJScrollPaneCopyright() {\r
325 if (jScrollPaneCopyright == null) {\r
326 jScrollPaneCopyright = new JScrollPane();\r
327 jScrollPaneCopyright.setBounds(new java.awt.Rectangle(160, 170, 320, 80));\r
328 jScrollPaneCopyright.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
329 jScrollPaneCopyright.setViewportView(getJTextAreaCopyright());\r
330 }\r
331 return jScrollPaneCopyright;\r
332 }\r
333\r
334 /**\r
335 This method initializes jScrollPaneDescription \r
336 \r
337 @return javax.swing.JScrollPane jScrollPaneDescription\r
338 \r
339 **/\r
340 private JScrollPane getJScrollPaneDescription() {\r
341 if (jScrollPaneDescription == null) {\r
342 jScrollPaneDescription = new JScrollPane();\r
343 jScrollPaneDescription.setBounds(new java.awt.Rectangle(160, 255, 320, 80));\r
344 jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
345 jScrollPaneDescription.setViewportView(getJTextAreaDescription());\r
346 }\r
347 return jScrollPaneDescription;\r
348 }\r
349\r
350 /**\r
351 This method initializes jTextFieldAbstract \r
352 \r
353 @return javax.swing.JTextField jTextFieldAbstract\r
354 \r
355 **/\r
356 private JTextField getJTextFieldAbstract() {\r
357 if (jTextFieldAbstract == null) {\r
358 jTextFieldAbstract = new JTextField();\r
359 jTextFieldAbstract.setBounds(new java.awt.Rectangle(160, 365, 200, 20));\r
360 }\r
361 return jTextFieldAbstract;\r
362 }\r
363\r
364 /**\r
365 This method initializes jComboBoxCompontentType \r
366 \r
367 @return javax.swing.JComboBox jComboBoxCompontentType\r
368 \r
369 **/\r
370 private JComboBox getJComboBoxCompontentType() {\r
371 if (jComboBoxCompontentType == null) {\r
372 jComboBoxCompontentType = new JComboBox();\r
373 jComboBoxCompontentType.setBounds(new java.awt.Rectangle(160, 415, 320, 20));\r
374 }\r
375 return jComboBoxCompontentType;\r
376 }\r
377\r
378 /**\r
379 This method initializes jComboBoxModuleType \r
380 \r
381 @return javax.swing.JComboBox jComboBoxModuleType\r
382 \r
383 **/\r
384 private JComboBox getJComboBoxModuleType() {\r
385 if (jComboBoxModuleType == null) {\r
386 jComboBoxModuleType = new JComboBox();\r
387 jComboBoxModuleType.setBounds(new java.awt.Rectangle(160, 390, 320, 20));\r
388 }\r
389 return jComboBoxModuleType;\r
390 }\r
391\r
392 /**\r
393 This method initializes jTextFieldAbstractURL \r
394 \r
395 @return javax.swing.JTextField jTextFieldAbstractURL\r
396 \r
397 **/\r
398 private JTextField getJTextFieldAbstractURL() {\r
399 if (jTextFieldAbstractURL == null) {\r
400 jTextFieldAbstractURL = new JTextField();\r
401 jTextFieldAbstractURL.setBounds(new java.awt.Rectangle(390, 365, 90, 20));\r
402 }\r
403 return jTextFieldAbstractURL;\r
404 }\r
405\r
406 public static void main(String[] args) {\r
407\r
408 }\r
409\r
410 /**\r
411 This is the default constructor\r
412 \r
413 **/\r
414 public MsaLibHeader() {\r
415 super();\r
416 init();\r
417 this.setVisible(true);\r
418 }\r
419\r
420 /**\r
421 This is the override edit constructor\r
422 \r
423 @param inMsaLibHeader The input data of MsaLibHeaderDocument.MsaLibHeader\r
424 \r
425 **/\r
426 public MsaLibHeader(MsaLibHeaderDocument.MsaLibHeader inMsaLibHeader) {\r
427 super();\r
428 init(inMsaLibHeader);\r
429 this.setVisible(true);\r
430 this.setViewMode(false);\r
431 }\r
432\r
433 /**\r
434 This method initializes this\r
435 \r
436 **/\r
437 private void init() {\r
438 this.setSize(500, 515);\r
439 this.setContentPane(getJContentPane());\r
440 this.setTitle("Library Module");\r
441 initFrame();\r
442 }\r
443\r
444 /**\r
445 This method initializes this\r
446 Fill values to all fields if these values are not empty\r
447 \r
448 @param inMsaLibHeader The input data of MsaLibHeaderDocument.MsaLibHeader\r
449 \r
450 **/\r
451 private void init(MsaLibHeaderDocument.MsaLibHeader inMsaLibHeader) {\r
452 init();\r
453 this.setMsaLibHeader(inMsaLibHeader);\r
454 if (inMsaLibHeader != null) {\r
455 if (this.msaLibHeader.getBaseName() != null) {\r
456 this.jTextFieldBaseName.setText(this.msaLibHeader.getBaseName().getStringValue());\r
457 }\r
458 if (this.msaLibHeader.getGuid() != null) {\r
459 this.jTextFieldGuid.setText(this.msaLibHeader.getGuid().getStringValue());\r
460 }\r
461 if (this.msaLibHeader.getVersion() != null) {\r
462 this.jTextFieldVersion.setText(this.msaLibHeader.getVersion());\r
463 }\r
464 if (this.msaLibHeader.getLicense() != null) {\r
465 this.jTextAreaLicense.setText(this.msaLibHeader.getLicense().getStringValue());\r
466 }\r
467 if (this.msaLibHeader.getCopyright() != null) {\r
468 this.jTextAreaCopyright.setText(this.msaLibHeader.getCopyright());\r
469 }\r
470 if (this.msaLibHeader.getDescription() != null) {\r
471 this.jTextAreaDescription.setText(this.msaLibHeader.getDescription());\r
472 }\r
473 if (this.msaLibHeader.getSpecification() != null) {\r
474 this.jTextFieldSpecification.setText(this.msaLibHeader.getSpecification().getStringValue());\r
475 }\r
476 if (this.msaLibHeader.getSpecification() != null) {\r
477 this.jTextFieldSpecificationVersion.setText(this.msaLibHeader.getSpecification().getVersion());\r
478 }\r
479 if (this.msaLibHeader.getAbstract() != null) {\r
480 this.jTextFieldAbstract.setText(this.msaLibHeader.getAbstract().getStringValue());\r
481 this.jTextFieldAbstractURL.setText(this.msaLibHeader.getAbstract().getURL());\r
482 }\r
483 if (this.msaLibHeader.getModuleType() != null) {\r
484 this.jComboBoxModuleType.setSelectedItem(this.msaLibHeader.getModuleType().toString());\r
485 }\r
486 if (this.msaLibHeader.getComponentType() != null) {\r
487 this.jComboBoxCompontentType.setSelectedItem(this.msaLibHeader.getComponentType().toString());\r
488 }\r
489 }\r
490 }\r
491\r
492 /**\r
493 Disable all components when the mode is view\r
494 \r
495 @param isView true - The view mode; false - The non-view mode\r
496 \r
497 **/\r
498 public void setViewMode(boolean isView) {\r
499 this.jButtonOk.setVisible(false);\r
500 this.jButtonCancel.setVisible(false);\r
501 if (isView) {\r
502 this.jTextFieldBaseName.setEnabled(!isView);\r
503 this.jTextFieldGuid.setEnabled(!isView);\r
504 this.jTextFieldVersion.setEnabled(!isView);\r
505 this.jTextAreaLicense.setEnabled(!isView);\r
506 this.jTextAreaCopyright.setEnabled(!isView);\r
507 this.jTextAreaDescription.setEnabled(!isView);\r
508 this.jTextFieldSpecification.setEnabled(!isView);\r
509 this.jTextFieldSpecificationVersion.setEnabled(!isView);\r
510 this.jTextFieldAbstract.setEnabled(!isView);\r
511 this.jTextFieldAbstractURL.setEnabled(!isView);\r
512 this.jComboBoxModuleType.setEnabled(!isView);\r
513 this.jComboBoxCompontentType.setEnabled(!isView);\r
514 this.jButtonCancel.setEnabled(!isView);\r
515 this.jButtonGenerateGuid.setEnabled(!isView);\r
516 this.jButtonOk.setEnabled(!isView);\r
517 }\r
518 }\r
519\r
520 /**\r
521 This method initializes jContentPane\r
522 \r
523 @return javax.swing.JPanel jContentPane\r
524 \r
525 **/\r
526 private JPanel getJContentPane() {\r
527 if (jContentPane == null) {\r
528 jLabelURL = new JLabel();\r
529 jLabelURL.setBounds(new java.awt.Rectangle(365, 365, 25, 20));\r
530 jLabelURL.setText("URL");\r
531 jLabelCompontentType = new JLabel();\r
532 jLabelCompontentType.setBounds(new java.awt.Rectangle(15, 415, 140, 20));\r
533 jLabelCompontentType.setText("Compontent Type");\r
534 jLabelModuleType = new JLabel();\r
535 jLabelModuleType.setBounds(new java.awt.Rectangle(15, 390, 140, 20));\r
536 jLabelModuleType.setText("Module Type");\r
537 jLabelAbstract = new JLabel();\r
538 jLabelAbstract.setBounds(new java.awt.Rectangle(15, 365, 140, 20));\r
539 jLabelAbstract.setText("Abstract");\r
540 jLabelSpecVersion = new JLabel();\r
541 jLabelSpecVersion.setBounds(new java.awt.Rectangle(382, 340, 15, 20));\r
542 jLabelSpecVersion.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);\r
543 jLabelSpecVersion.setText("V");\r
544 jLabelSpecification = new JLabel();\r
545 jLabelSpecification.setText("Specification");\r
546 jLabelSpecification.setBounds(new java.awt.Rectangle(15, 340, 140, 20));\r
547 jLabelDescription = new JLabel();\r
548 jLabelDescription.setText("Description");\r
549 jLabelDescription.setBounds(new java.awt.Rectangle(15, 255, 140, 20));\r
550 jLabelCopyright = new JLabel();\r
551 jLabelCopyright.setText("Copyright");\r
552 jLabelCopyright.setBounds(new java.awt.Rectangle(15, 170, 140, 20));\r
553 jLabelLicense = new JLabel();\r
554 jLabelLicense.setText("License");\r
555 jLabelLicense.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
556 jLabelVersion = new JLabel();\r
557 jLabelVersion.setText("Version");\r
558 jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
559 jLabelGuid = new JLabel();\r
560 jLabelGuid.setPreferredSize(new java.awt.Dimension(25, 15));\r
561 jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
562 jLabelGuid.setText("Guid");\r
563 jLabelBaseName = new JLabel();\r
564 jLabelBaseName.setText("Base Name");\r
565 jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
566 jContentPane = new JPanel();\r
567 jContentPane.setLayout(null);\r
568 jContentPane.setLocation(new java.awt.Point(0, 0));\r
569 jContentPane.setSize(new java.awt.Dimension(500, 524));\r
570 jContentPane.add(jLabelBaseName, null);\r
571 jContentPane.add(getJTextFieldBaseName(), null);\r
572 jContentPane.add(jLabelGuid, null);\r
573 jContentPane.add(getJTextFieldGuid(), null);\r
574 jContentPane.add(jLabelVersion, null);\r
575 jContentPane.add(getJTextFieldVersion(), null);\r
576 jContentPane.add(getJButtonGenerateGuid(), null);\r
577 jContentPane.add(jLabelLicense, null);\r
578 jContentPane.add(jLabelCopyright, null);\r
579 jContentPane.add(jLabelDescription, null);\r
580 jContentPane.add(jLabelSpecification, null);\r
581 jContentPane.add(getJTextFieldSpecification(), null);\r
582 jContentPane.add(getJTextFieldSpecificationVersion(), null);\r
583 jContentPane.add(getJButtonOk(), null);\r
584 jContentPane.add(getJButtonCancel(), null);\r
585 jContentPane.add(getJScrollPaneLicense(), null);\r
586 jContentPane.add(getJScrollPaneCopyright(), null);\r
587 jContentPane.add(getJScrollPaneDescription(), null);\r
588 jContentPane.add(jLabelAbstract, null);\r
589 jContentPane.add(getJTextFieldAbstract(), null);\r
590 jContentPane.add(jLabelSpecVersion, null);\r
591 jContentPane.add(jLabelModuleType, null);\r
592 jContentPane.add(jLabelCompontentType, null);\r
593 jContentPane.add(getJComboBoxCompontentType(), null);\r
594 jContentPane.add(getJComboBoxModuleType(), null);\r
595\r
596 jStarLabel1 = new StarLabel();\r
597 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
598 jStarLabel2 = new StarLabel();\r
599 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
600 jStarLabel3 = new StarLabel();\r
601 jStarLabel3.setLocation(new java.awt.Point(0, 60));\r
602 jStarLabel4 = new StarLabel();\r
603 jStarLabel4.setLocation(new java.awt.Point(0, 85));\r
604 jStarLabel5 = new StarLabel();\r
605 jStarLabel5.setLocation(new java.awt.Point(0, 170));\r
606 jStarLabel6 = new StarLabel();\r
607 jStarLabel6.setLocation(new java.awt.Point(0, 255));\r
608 jStarLabel7 = new StarLabel();\r
609 jStarLabel7.setLocation(new java.awt.Point(0, 365));\r
610 jStarLabel8 = new StarLabel();\r
611 jStarLabel8.setLocation(new java.awt.Point(0, 390));\r
612 jStarLabel9 = new StarLabel();\r
613 jStarLabel9.setLocation(new java.awt.Point(0, 415));\r
614\r
615 jContentPane.add(jStarLabel1, null);\r
616 jContentPane.add(jStarLabel2, null);\r
617 jContentPane.add(jStarLabel3, null);\r
618 jContentPane.add(jStarLabel4, null);\r
619 jContentPane.add(jStarLabel5, null);\r
620 jContentPane.add(jStarLabel6, null);\r
621 jContentPane.add(jStarLabel7, null);\r
622 jContentPane.add(jStarLabel8, null);\r
623 jContentPane.add(jStarLabel9, null);\r
624 jContentPane.add(jLabelURL, null);\r
625 jContentPane.add(getJTextFieldAbstractURL(), null);\r
626 }\r
627 return jContentPane;\r
628 }\r
629\r
630 /* (non-Javadoc)\r
631 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
632 *\r
633 * Override actionPerformed to listen all actions\r
634 * \r
635 */\r
636 public void actionPerformed(ActionEvent arg0) {\r
637 if (arg0.getSource() == jButtonOk) {\r
638 this.dispose();\r
639 this.save();\r
640 this.setEdited(true);\r
641 }\r
642 if (arg0.getSource() == jButtonCancel) {\r
643 this.dispose();\r
644 this.setEdited(false);\r
645 }\r
646 if (arg0.getSource() == jButtonGenerateGuid) {\r
647 jTextFieldGuid.setText(Tools.generateUuidString());\r
648 }\r
649 }\r
650\r
651 /**\r
652 Data validation for all fields\r
653 \r
654 @retval true - All datas are valid\r
655 @retval false - At least one data is invalid\r
656 \r
657 **/\r
658 public boolean check() {\r
659 //\r
660 // Check if all required fields are not empty\r
661 //\r
662 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
663 Log.err("Base Name couldn't be empty");\r
664 return false;\r
665 }\r
666 if (isEmpty(this.jTextFieldGuid.getText())) {\r
667 Log.err("Guid couldn't be empty");\r
668 return false;\r
669 }\r
670 if (isEmpty(this.jTextFieldVersion.getText())) {\r
671 Log.err("Version couldn't be empty");\r
672 return false;\r
673 }\r
674 if (isEmpty(this.jTextAreaLicense.getText())) {\r
675 Log.err("License couldn't be empty");\r
676 return false;\r
677 }\r
678 if (isEmpty(this.jTextAreaCopyright.getText())) {\r
679 Log.err("Copyright couldn't be empty");\r
680 return false;\r
681 }\r
682 if (isEmpty(this.jTextAreaDescription.getText())) {\r
683 Log.err("Description couldn't be empty");\r
684 return false;\r
685 }\r
686 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
687 Log.err("Abstract couldn't be empty");\r
688 return false;\r
689 }\r
690\r
691 //\r
692 // Check if all fields have correct data types \r
693 //\r
694 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
695 Log.err("Incorrect data type for Base Name");\r
696 return false;\r
697 }\r
698 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
699 Log.err("Incorrect data type for Guid");\r
700 return false;\r
701 }\r
702 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
703 Log.err("Incorrect data type for Abstract");\r
704 return false;\r
705 }\r
706 if (!DataValidation.isCopyright(this.jTextAreaCopyright.getText())) {\r
707 Log.err("Incorrect data type for Copyright");\r
708 return false;\r
709 }\r
710 return true;\r
711 }\r
712\r
713 /**\r
714 Save all components of Msa Lib Header\r
715 if exists msaLibHeader, set the value directly\r
716 if not exists msaLibHeader, new an instance first\r
717 \r
718 **/\r
719 public void save() {\r
720 try {\r
721 if (this.msaLibHeader == null) {\r
722 msaLibHeader = MsaLibHeaderDocument.MsaLibHeader.Factory.newInstance();\r
723 }\r
724 if (this.msaLibHeader.getBaseName() != null) {\r
725 this.msaLibHeader.getBaseName().setStringValue(this.jTextFieldBaseName.getText());\r
726 } else {\r
727 BaseNameDocument.BaseName mBaseName = BaseNameDocument.BaseName.Factory.newInstance();\r
728 mBaseName.setStringValue(this.jTextFieldBaseName.getText());\r
729 this.msaLibHeader.setBaseName(mBaseName);\r
730 }\r
731\r
732 if (this.msaLibHeader.getGuid() != null) {\r
733 this.msaLibHeader.getGuid().setStringValue(this.jTextFieldGuid.getText());\r
734 } else {\r
735 GuidDocument.Guid mGuid = GuidDocument.Guid.Factory.newInstance();\r
736 mGuid.setStringValue(this.jTextFieldGuid.getText());\r
737 this.msaLibHeader.setGuid(mGuid);\r
738 }\r
739\r
740 this.msaLibHeader.setVersion(this.jTextFieldVersion.getText());\r
741\r
742 if (this.msaLibHeader.getLicense() != null) {\r
743 this.msaLibHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());\r
744 } else {\r
745 LicenseDocument.License mLicense = LicenseDocument.License.Factory.newInstance();\r
746 mLicense.setStringValue(this.jTextAreaLicense.getText());\r
747 this.msaLibHeader.setLicense(mLicense);\r
748 }\r
749\r
750 this.msaLibHeader.setCopyright(this.jTextAreaCopyright.getText());\r
751 this.msaLibHeader.setDescription(this.jTextAreaDescription.getText());\r
752\r
753 if (this.msaLibHeader.getSpecification() != null) {\r
754 this.msaLibHeader.getSpecification().setStringValue(this.jTextFieldSpecification.getText());\r
755 this.msaLibHeader.getSpecification().setVersion(this.jTextFieldSpecificationVersion.getText());\r
756 } else {\r
757 SpecificationDocument.Specification mSpecification = SpecificationDocument.Specification.Factory\r
758 .newInstance();\r
759 mSpecification.setStringValue(this.jTextFieldSpecification.getText());\r
760 mSpecification.setVersion(this.jTextFieldSpecificationVersion.getText());\r
761 this.msaLibHeader.setSpecification(mSpecification);\r
762 }\r
763\r
764 if (this.msaLibHeader.getAbstract() != null) {\r
765 this.msaLibHeader.getAbstract().setStringValue(this.jTextFieldAbstract.getText());\r
766 this.msaLibHeader.getAbstract().setURL(this.jTextFieldAbstractURL.getText());\r
767 } else {\r
768 AbstractDocument.Abstract mAbstract = AbstractDocument.Abstract.Factory.newInstance();\r
769 mAbstract.setStringValue(this.jTextFieldAbstract.getText());\r
770 mAbstract.setURL(this.jTextFieldAbstractURL.getText());\r
771 this.msaLibHeader.setAbstract(mAbstract);\r
772 }\r
773\r
774 this.msaLibHeader.setModuleType(ModuleTypeDef.Enum.forString(this.jComboBoxModuleType.getSelectedItem()\r
775 .toString()));\r
776 this.msaLibHeader\r
777 .setComponentType(FrameworkComponentTypes.Enum\r
778 .forString(this.jComboBoxCompontentType\r
779 .getSelectedItem()\r
780 .toString()));\r
781\r
782 if (this.msaLibHeader.getCreated() == null) {\r
783 this.msaLibHeader.setCreated(Tools.getCurrentDateTime());\r
784 } else {\r
785 this.msaLibHeader.setUpdated(Tools.getCurrentDateTime());\r
786 }\r
787 } catch (Exception e) {\r
788 Log.err("Save Module", e.getMessage());\r
789 }\r
790 }\r
791\r
792 /**\r
793 This method initializes module type and compontent type\r
794 \r
795 **/\r
796 private void initFrame() {\r
797 jComboBoxModuleType.addItem("BASE");\r
798 jComboBoxModuleType.addItem("SEC");\r
799 jComboBoxModuleType.addItem("PEI_CORE");\r
800 jComboBoxModuleType.addItem("PEIM");\r
801 jComboBoxModuleType.addItem("DXE_CORE");\r
802 jComboBoxModuleType.addItem("DXE_DRIVER");\r
803 jComboBoxModuleType.addItem("DXE_RUNTIME_DRIVER");\r
804 jComboBoxModuleType.addItem("DXE_SMM_DRIVER");\r
805 jComboBoxModuleType.addItem("DXE_SAL_DRIVER");\r
806 jComboBoxModuleType.addItem("UEFI_DRIVER");\r
807 jComboBoxModuleType.addItem("UEFI_APPLICATION");\r
808\r
809 jComboBoxCompontentType.addItem("APRIORI");\r
810 jComboBoxCompontentType.addItem("LIBRARY");\r
811 jComboBoxCompontentType.addItem("FV_IMAGE_FILE");\r
812 jComboBoxCompontentType.addItem("BS_DRIVER");\r
813 jComboBoxCompontentType.addItem("RT_DRIVER");\r
814 jComboBoxCompontentType.addItem("SAL_RT_DRIVER");\r
815 jComboBoxCompontentType.addItem("PE32_PEIM");\r
816 jComboBoxCompontentType.addItem("PIC_PEIM");\r
817 jComboBoxCompontentType.addItem("COMBINED_PEIM_DRIVER");\r
818 jComboBoxCompontentType.addItem("PEI_CORE");\r
819 jComboBoxCompontentType.addItem("DXE_CORE");\r
820 jComboBoxCompontentType.addItem("APPLICATION");\r
821 jComboBoxCompontentType.addItem("BS_DRIVER_EFI");\r
822 jComboBoxCompontentType.addItem("SHELLAPP");\r
823 }\r
824\r
825 /**\r
826 Get MsaLibHeaderDocument.MsaLibHeader\r
827 \r
828 @return MsaLibHeaderDocument.MsaLibHeader\r
829 \r
830 **/\r
831 public MsaLibHeaderDocument.MsaLibHeader getMsaLibHeader() {\r
832 return msaLibHeader;\r
833 }\r
834\r
835 /**\r
836 Set MsaLibHeaderDocument.MsaLibHeader\r
837 \r
838 @param msaLibHeader The input data of MsaLibHeaderDocument.MsaLibHeader\r
839 \r
840 **/\r
841 public void setMsaLibHeader(MsaLibHeaderDocument.MsaLibHeader msaLibHeader) {\r
842 this.msaLibHeader = msaLibHeader;\r
843 }\r
844\r
845}\r