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