]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/MsaHeader.java
1. Fix EDKT436 "Is PCD driver" only gives one value: PEI_PCD_DRIVER to user
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / ui / MsaHeader.java
CommitLineData
a13899c5 1/** @file\r
2 \r
3 The file is used to create, update MsaHeader of 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.frameworkwizard.module.ui;\r
17\r
18import java.awt.event.ActionEvent;\r
19import java.awt.event.ComponentEvent;\r
20import java.awt.event.FocusEvent;\r
6173283b 21import java.awt.event.ItemEvent;\r
739c6b04 22import java.util.Vector;\r
a13899c5 23\r
b63cc1b6 24import javax.swing.ButtonGroup;\r
a13899c5 25import javax.swing.JButton;\r
739c6b04 26import javax.swing.JCheckBox;\r
a13899c5 27import javax.swing.JComboBox;\r
28import javax.swing.JLabel;\r
29import javax.swing.JPanel;\r
30import javax.swing.JScrollPane;\r
31import javax.swing.JTextArea;\r
32import javax.swing.JTextField;\r
33\r
3b7a9058 34import org.tianocore.ExternsDocument;\r
9a8d6d9f 35import org.tianocore.ModuleDefinitionsDocument;\r
a13899c5 36import org.tianocore.ModuleSurfaceAreaDocument;\r
37import org.tianocore.ModuleTypeDef;\r
38import org.tianocore.MsaHeaderDocument;\r
3b7a9058 39import org.tianocore.PcdDriverTypes;\r
a13899c5 40import org.tianocore.LicenseDocument.License;\r
41import org.tianocore.frameworkwizard.common.DataType;\r
42import org.tianocore.frameworkwizard.common.DataValidation;\r
43import org.tianocore.frameworkwizard.common.EnumerationData;\r
44import org.tianocore.frameworkwizard.common.Log;\r
a13899c5 45import org.tianocore.frameworkwizard.common.Tools;\r
79cb6fdb 46import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleType;\r
a13899c5 47import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
48import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
b63cc1b6 49import javax.swing.JRadioButton;\r
a13899c5 50\r
51/**\r
52 The class is used to create, update MsaHeader of MSA file\r
53 It extends IInternalFrame\r
54 \r
55\r
56\r
57 **/\r
58public class MsaHeader extends IInternalFrame {\r
59\r
60 ///\r
61 /// Define class Serial Version UID\r
62 ///\r
63 private static final long serialVersionUID = -8152099582923006900L;\r
64\r
9d0ac02b 65 private int dialogWidth = 500;\r
3b7a9058 66\r
9d0ac02b 67 private int dialogHeight = 630;\r
3b7a9058 68\r
0f6a6511 69 private final int labelWidth = 155;\r
6173283b 70\r
0f6a6511 71 private int valueWidth = 320;\r
6173283b 72\r
0f6a6511 73 private final int labelCol = 12;\r
6173283b 74\r
0f6a6511 75 private final int valueCol = 168;\r
6173283b 76\r
a13899c5 77 //\r
78 //Define class members\r
79 //\r
80 private JPanel jContentPane = null;\r
81\r
82 private JLabel jLabelBaseName = null;\r
83\r
84 private JTextField jTextFieldBaseName = null;\r
85\r
86 private JLabel jLabelGuid = null;\r
87\r
88 private JTextField jTextFieldGuid = null;\r
89\r
90 private JLabel jLabelVersion = null;\r
91\r
92 private JTextField jTextFieldVersion = null;\r
93\r
94 private JButton jButtonGenerateGuid = null;\r
95\r
96 private JLabel jLabelLicense = null;\r
97\r
98 private JTextArea jTextAreaLicense = null;\r
99\r
100 private JLabel jLabelCopyright = null;\r
101\r
102 private JLabel jLabelDescription = null;\r
103\r
104 private JTextArea jTextAreaDescription = null;\r
105\r
106 private JLabel jLabelSpecification = null;\r
107\r
108 private JTextField jTextFieldSpecification = null;\r
109\r
110 private JButton jButtonOk = null;\r
111\r
112 private JButton jButtonCancel = null;\r
113\r
114 private JScrollPane jScrollPaneLicense = null;\r
115\r
116 private JScrollPane jScrollPaneDescription = null;\r
117\r
118 private JLabel jLabelAbstract = null;\r
119\r
120 private JTextField jTextFieldAbstract = null;\r
121\r
122 private JLabel jLabelModuleType = null;\r
123\r
124 private JComboBox jComboBoxModuleType = null;\r
125\r
739c6b04 126 private JLabel jLabelArch = null;\r
127\r
128 private JLabel jLabelBinaryModule = null;\r
129\r
739c6b04 130 private JLabel jLabelOutputFileBasename = null;\r
131\r
132 private JTextField jTextFieldOutputFileBasename = null;\r
133\r
134 private JScrollPane jScrollPaneCopyright = null;\r
135\r
136 private JTextArea jTextAreaCopyright = null;\r
137\r
138 private JLabel jLabelURL = null;\r
139\r
140 private JTextField jTextFieldURL = null;\r
141\r
142 private JScrollPane jScrollPane = null;\r
143\r
a13899c5 144 private StarLabel jStarLabel1 = null;\r
145\r
146 private StarLabel jStarLabel2 = null;\r
147\r
148 private StarLabel jStarLabel4 = null;\r
149\r
150 private StarLabel jStarLabel5 = null;\r
151\r
152 private StarLabel jStarLabel6 = null;\r
153\r
154 private StarLabel jStarLabel7 = null;\r
155\r
156 private StarLabel jStarLabel8 = null;\r
157\r
158 private StarLabel jStarLabel10 = null;\r
159\r
160 private StarLabel jStarLabel12 = null;\r
161\r
739c6b04 162 private StarLabel jStarLabel13 = null;\r
a13899c5 163\r
739c6b04 164 private StarLabel jStarLabel14 = null;\r
a13899c5 165\r
739c6b04 166 private JCheckBox jCheckBoxIa32 = null;\r
a13899c5 167\r
739c6b04 168 private JCheckBox jCheckBoxX64 = null;\r
a13899c5 169\r
739c6b04 170 private JCheckBox jCheckBoxIpf = null;\r
171\r
172 private JCheckBox jCheckBoxEbc = null;\r
173\r
174 private JCheckBox jCheckBoxArm = null;\r
175\r
176 private JCheckBox jCheckBoxPpc = null;\r
3b7a9058 177\r
6173283b 178 private JTextField jComboBoxPcdIsDriver = null;\r
3b7a9058 179\r
180 private JCheckBox jCheckBoxPcd = null;\r
181\r
182 private JCheckBox jCheckBoxFlashMap = null;\r
183\r
739c6b04 184 //\r
185 // Not used for UI\r
186 //\r
187 private MsaHeaderDocument.MsaHeader msaHeader = null;\r
188\r
189 private ModuleDefinitionsDocument.ModuleDefinitions md = null;\r
190\r
191 private ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
a13899c5 192\r
3b7a9058 193 private ExternsDocument.Externs ex = null;\r
194\r
a13899c5 195 private OpeningModuleType omt = null;\r
2003a22e 196\r
9a8d6d9f 197 private EnumerationData ed = new EnumerationData();\r
a13899c5 198\r
b63cc1b6 199 private JRadioButton jRadioButtonBinaryModuleTrue = null;\r
200\r
201 private JRadioButton jRadioButtonBinaryModuleFalse = null;\r
202\r
739c6b04 203 /**\r
204 * This method initializes jCheckBoxIa32 \r
205 * \r
206 * @return javax.swing.JCheckBox \r
207 */\r
208 private JCheckBox getJCheckBoxIa32() {\r
209 if (jCheckBoxIa32 == null) {\r
210 jCheckBoxIa32 = new JCheckBox();\r
0f6a6511 211 jCheckBoxIa32.setBounds(new java.awt.Rectangle(valueCol, 505, 55, 20));\r
739c6b04 212 jCheckBoxIa32.setText("IA32");\r
213 jCheckBoxIa32.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
214 jCheckBoxIa32.addFocusListener(this);\r
6173283b 215 jCheckBoxIa32.addItemListener(this);\r
739c6b04 216 }\r
217 return jCheckBoxIa32;\r
218 }\r
219\r
220 /**\r
221 * This method initializes jCheckBoxX64 \r
222 * \r
223 * @return javax.swing.JCheckBox \r
224 */\r
225 private JCheckBox getJCheckBoxX64() {\r
226 if (jCheckBoxX64 == null) {\r
227 jCheckBoxX64 = new JCheckBox();\r
0f6a6511 228 jCheckBoxX64.setBounds(new java.awt.Rectangle(valueCol + 55, 505, 53, 20));\r
739c6b04 229 jCheckBoxX64.setText("X64");\r
230 jCheckBoxX64.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
231 jCheckBoxX64.addFocusListener(this);\r
6173283b 232 jCheckBoxX64.addItemListener(this);\r
739c6b04 233 }\r
234 return jCheckBoxX64;\r
235 }\r
236\r
237 /**\r
238 * This method initializes jCheckBoxIpf \r
239 * \r
240 * @return javax.swing.JCheckBox \r
241 */\r
242 private JCheckBox getJCheckBoxIpf() {\r
243 if (jCheckBoxIpf == null) {\r
244 jCheckBoxIpf = new JCheckBox();\r
0f6a6511 245 jCheckBoxIpf.setBounds(new java.awt.Rectangle(valueCol + 110, 505, 52, 20));\r
739c6b04 246 jCheckBoxIpf.setText("IPF");\r
247 jCheckBoxIpf.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
248 jCheckBoxIpf.addFocusListener(this);\r
6173283b 249 jCheckBoxIpf.addItemListener(this);\r
739c6b04 250 }\r
251 return jCheckBoxIpf;\r
252 }\r
253\r
254 /**\r
255 * This method initializes jCheckBoxEbc \r
256 * \r
257 * @return javax.swing.JCheckBox \r
258 */\r
259 private JCheckBox getJCheckBoxEbc() {\r
260 if (jCheckBoxEbc == null) {\r
261 jCheckBoxEbc = new JCheckBox();\r
0f6a6511 262 jCheckBoxEbc.setBounds(new java.awt.Rectangle(valueCol + 165, 505, 53, 20));\r
739c6b04 263 jCheckBoxEbc.setText("EBC");\r
264 jCheckBoxEbc.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
265 jCheckBoxEbc.addFocusListener(this);\r
6173283b 266 jCheckBoxEbc.addItemListener(this);\r
739c6b04 267 }\r
268 return jCheckBoxEbc;\r
269 }\r
270\r
271 /**\r
272 * This method initializes jCheckBoxArm \r
273 * \r
274 * @return javax.swing.JCheckBox \r
275 */\r
276 private JCheckBox getJCheckBoxArm() {\r
277 if (jCheckBoxArm == null) {\r
278 jCheckBoxArm = new JCheckBox();\r
0f6a6511 279 jCheckBoxArm.setBounds(new java.awt.Rectangle(valueCol + 220, 505, 54, 20));\r
739c6b04 280 jCheckBoxArm.setText("ARM");\r
281 jCheckBoxArm.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
282 jCheckBoxArm.addFocusListener(this);\r
6173283b 283 jCheckBoxArm.addItemListener(this);\r
739c6b04 284 }\r
285 return jCheckBoxArm;\r
286 }\r
287\r
288 /**\r
289 * This method initializes jCheckBoxPpc \r
290 * \r
291 * @return javax.swing.JCheckBox \r
292 */\r
293 private JCheckBox getJCheckBoxPpc() {\r
294 if (jCheckBoxPpc == null) {\r
295 jCheckBoxPpc = new JCheckBox();\r
0f6a6511 296 jCheckBoxPpc.setBounds(new java.awt.Rectangle(valueCol + 285, 505, 53, 20));\r
739c6b04 297 jCheckBoxPpc.setText("PPC");\r
298 jCheckBoxPpc.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
299 jCheckBoxPpc.addFocusListener(this);\r
6173283b 300 jCheckBoxPpc.addItemListener(this);\r
739c6b04 301 }\r
302 return jCheckBoxPpc;\r
303 }\r
304\r
a13899c5 305 /**\r
306 This method initializes jTextFieldBaseName \r
307 \r
308 @return javax.swing.JTextField jTextFieldBaseName\r
309 \r
310 **/\r
311 private JTextField getJTextFieldBaseName() {\r
312 if (jTextFieldBaseName == null) {\r
313 jTextFieldBaseName = new JTextField();\r
0f6a6511 314 jTextFieldBaseName.setBounds(new java.awt.Rectangle(valueCol, 10, valueWidth, 20));\r
a13899c5 315 jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320, 20));\r
316 jTextFieldBaseName.addFocusListener(this);\r
f51ee52b 317 jTextFieldBaseName.setToolTipText("A brief Identifier, such as USB I/O Library, of the module");\r
a13899c5 318 }\r
319 return jTextFieldBaseName;\r
320 }\r
321\r
322 /**\r
323 This method initializes jTextFieldGuid \r
324 \r
325 @return javax.swing.JTextField jTextFieldGuid\r
326 \r
327 **/\r
328 private JTextField getJTextFieldGuid() {\r
329 if (jTextFieldGuid == null) {\r
330 jTextFieldGuid = new JTextField();\r
331 jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250, 20));\r
0f6a6511 332 jTextFieldGuid.setLocation(new java.awt.Point(valueCol, 60));\r
a13899c5 333 jTextFieldGuid.setSize(new java.awt.Dimension(250, 20));\r
334 jTextFieldGuid.addFocusListener(this);\r
f51ee52b 335 jTextFieldGuid.setToolTipText("Guaranteed Unique Identification Number, Registry Format (8-4-4-4-12)");\r
a13899c5 336 }\r
337 return jTextFieldGuid;\r
338 }\r
339\r
340 /**\r
341 This method initializes jTextFieldVersion \r
342 \r
343 @return javax.swing.JTextField jTextFieldVersion\r
344 \r
345 **/\r
346 private JTextField getJTextFieldVersion() {\r
347 if (jTextFieldVersion == null) {\r
348 jTextFieldVersion = new JTextField();\r
0f6a6511 349 jTextFieldVersion.setPreferredSize(new java.awt.Dimension(valueWidth, 20));\r
350 jTextFieldVersion.setLocation(new java.awt.Point(valueCol, 85));\r
351 jTextFieldVersion.setSize(new java.awt.Dimension(valueWidth, 20));\r
a13899c5 352 jTextFieldVersion.addFocusListener(this);\r
f51ee52b 353 jTextFieldVersion.setToolTipText("A Version Number, 1.0, 1, 1.01, 1.0.1");\r
a13899c5 354 }\r
355 return jTextFieldVersion;\r
356 }\r
357\r
358 /**\r
359 This method initializes jButtonGenerateGuid \r
360 \r
361 @return javax.swing.JButton jButtonGenerateGuid\r
362 \r
363 **/\r
364 private JButton getJButtonGenerateGuid() {\r
365 if (jButtonGenerateGuid == null) {\r
0f6a6511 366 int genGuidCol = valueCol + 285;\r
a13899c5 367 jButtonGenerateGuid = new JButton();\r
368 jButtonGenerateGuid.setPreferredSize(new java.awt.Dimension(65, 20));\r
369 jButtonGenerateGuid.setSize(new java.awt.Dimension(65, 20));\r
0f6a6511 370 jButtonGenerateGuid.setLocation(new java.awt.Point(genGuidCol, 60));\r
a13899c5 371 jButtonGenerateGuid.setText("GEN");\r
372 jButtonGenerateGuid.addActionListener(this);\r
373 }\r
374 return jButtonGenerateGuid;\r
375 }\r
376\r
377 /**\r
378 This method initializes jTextAreaLicense \r
379 \r
380 @return javax.swing.JTextArea jTextAreaLicense\r
381 \r
382 **/\r
383 private JTextArea getJTextAreaLicense() {\r
384 if (jTextAreaLicense == null) {\r
385 jTextAreaLicense = new JTextArea();\r
386 jTextAreaLicense.setText("");\r
387 jTextAreaLicense.setLineWrap(true);\r
388 jTextAreaLicense.addFocusListener(this);\r
2003a22e 389 jTextAreaLicense.setWrapStyleWord(true);\r
390 jTextAreaLicense.setSelectionStart(0);\r
391 jTextAreaLicense.setSelectionEnd(0);\r
f51ee52b 392 jTextAreaLicense.setToolTipText("The License for this Module.");\r
a13899c5 393 }\r
394 return jTextAreaLicense;\r
395 }\r
396\r
397 /**\r
398 This method initializes jTextAreaDescription \r
399 \r
400 @return javax.swing.JTextArea jTextAreaDescription\r
401 \r
402 **/\r
403 private JTextArea getJTextAreaDescription() {\r
404 if (jTextAreaDescription == null) {\r
405 jTextAreaDescription = new JTextArea();\r
406 jTextAreaDescription.setLineWrap(true);\r
407 jTextAreaDescription.addFocusListener(this);\r
623db5ca 408 jTextAreaDescription.setToolTipText("A verbose description of the module.");\r
2003a22e 409 jTextAreaDescription.setWrapStyleWord(true);\r
9a8d6d9f 410 jTextAreaDescription.setSelectionStart(0);\r
411 jTextAreaDescription.setSelectionEnd(0);\r
a13899c5 412 }\r
413 return jTextAreaDescription;\r
414 }\r
415\r
416 /**\r
417 This method initializes jTextFieldSpecification \r
418 \r
419 @return javax.swing.JTextField jTextFieldSpecification\r
420 \r
421 **/\r
422 private JTextField getJTextFieldSpecification() {\r
423 if (jTextFieldSpecification == null) {\r
0f6a6511 424 int specWidth = valueWidth + 50;\r
a13899c5 425 jTextFieldSpecification = new JTextField();\r
3b7a9058 426\r
0f6a6511 427 jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(specWidth, 20));\r
c06e8657 428 jTextFieldSpecification.setText("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052");\r
9d0ac02b 429 jTextFieldSpecification.setBorder(null);\r
3b7a9058 430\r
0f6a6511 431 jTextFieldSpecification.setSize(new java.awt.Dimension(specWidth, 20));\r
432 jTextFieldSpecification.setLocation(new java.awt.Point(labelCol, dialogHeight - 30));\r
a13899c5 433 jTextFieldSpecification.setEditable(false);\r
434 jTextFieldSpecification.addFocusListener(this);\r
a13899c5 435 }\r
436 return jTextFieldSpecification;\r
437 }\r
438\r
439 /**\r
440 This method initializes jButtonOk \r
441 \r
442 @return javax.swing.JButton jButtonOk\r
443 \r
444 **/\r
445 private JButton getJButtonOk() {\r
446 if (jButtonOk == null) {\r
447 jButtonOk = new JButton();\r
448 jButtonOk.setText("OK");\r
449 jButtonOk.setPreferredSize(new java.awt.Dimension(90, 20));\r
450 jButtonOk.setBounds(new java.awt.Rectangle(390, 455, 90, 20));\r
451 jButtonOk.addActionListener(this);\r
452 jButtonOk.setVisible(false);\r
453 }\r
454 return jButtonOk;\r
455 }\r
456\r
457 /**\r
458 This method initializes jButtonCancel \r
459 \r
460 @return javax.swing.JButton jButtonCancel\r
461 \r
462 **/\r
463 private JButton getJButtonCancel() {\r
464 if (jButtonCancel == null) {\r
465 jButtonCancel = new JButton();\r
466 jButtonCancel.setText("Cancel");\r
467 jButtonCancel.setBounds(new java.awt.Rectangle(390, 445, 90, 20));\r
468 jButtonCancel.addActionListener(this);\r
469 jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));\r
470 jButtonCancel.setVisible(false);\r
471 }\r
472 return jButtonCancel;\r
473 }\r
474\r
475 /**\r
476 This method initializes jScrollPaneLicense \r
477 \r
478 @return javax.swing.JScrollPane jScrollPaneLicense\r
479 \r
480 **/\r
481 private JScrollPane getJScrollPaneLicense() {\r
482 if (jScrollPaneLicense == null) {\r
483 jScrollPaneLicense = new JScrollPane();\r
484 jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
0f6a6511 485 jScrollPaneLicense.setSize(new java.awt.Dimension(valueWidth, 120));\r
486 jScrollPaneLicense.setLocation(new java.awt.Point(valueCol, 305));\r
a13899c5 487 jScrollPaneLicense.setViewportView(getJTextAreaLicense());\r
0f6a6511 488 jScrollPaneLicense.setPreferredSize(new java.awt.Dimension(valueWidth, 120));\r
a13899c5 489 }\r
490 return jScrollPaneLicense;\r
491 }\r
492\r
493 /**\r
494 This method initializes jScrollPaneDescription \r
495 \r
496 @return javax.swing.JScrollPane jScrollPaneDescription\r
497 \r
498 **/\r
499 private JScrollPane getJScrollPaneDescription() {\r
500 if (jScrollPaneDescription == null) {\r
501 jScrollPaneDescription = new JScrollPane();\r
502 jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
0f6a6511 503 jScrollPaneDescription.setSize(new java.awt.Dimension(valueWidth, 120));\r
504 jScrollPaneDescription.setLocation(new java.awt.Point(valueCol, 135));\r
a13899c5 505 jScrollPaneDescription.setViewportView(getJTextAreaDescription());\r
0f6a6511 506 jScrollPaneDescription.setPreferredSize(new java.awt.Dimension(valueWidth, 120));\r
a13899c5 507 }\r
508 return jScrollPaneDescription;\r
509 }\r
510\r
511 /**\r
512 This method initializes jTextFieldAbstract \r
513 \r
514 @return javax.swing.JTextField jTextFieldAbstract\r
515 \r
516 **/\r
517 private JTextField getJTextFieldAbstract() {\r
518 if (jTextFieldAbstract == null) {\r
519 jTextFieldAbstract = new JTextField();\r
0f6a6511 520 jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(valueWidth, 20));\r
521 jTextFieldAbstract.setLocation(new java.awt.Point(valueCol, 110));\r
522 jTextFieldAbstract.setSize(new java.awt.Dimension(valueWidth, 20));\r
a13899c5 523 jTextFieldAbstract.addFocusListener(this);\r
623db5ca 524 jTextFieldAbstract.setToolTipText("A one sentence description of this module.");\r
a13899c5 525 }\r
526 return jTextFieldAbstract;\r
527 }\r
528\r
529 /**\r
530 This method initializes jComboBoxModuleType \r
531 \r
532 @return javax.swing.JComboBox jComboBoxModuleType\r
533 \r
534 **/\r
535 private JComboBox getJComboBoxModuleType() {\r
536 if (jComboBoxModuleType == null) {\r
537 jComboBoxModuleType = new JComboBox();\r
0f6a6511 538 jComboBoxModuleType.setBounds(new java.awt.Rectangle(valueCol, 35, valueWidth, 20));\r
539 jComboBoxModuleType.setPreferredSize(new java.awt.Dimension(valueWidth, 20));\r
a13899c5 540 jComboBoxModuleType.addFocusListener(this);\r
6173283b 541 jComboBoxModuleType.addItemListener(this);\r
a13899c5 542 }\r
543 return jComboBoxModuleType;\r
544 }\r
545\r
546 /**\r
739c6b04 547 This method initializes jTextFieldURL \r
a13899c5 548 \r
739c6b04 549 @return javax.swing.JTextField \r
a13899c5 550 \r
551 **/\r
a13899c5 552 private JTextField getJTextFieldURL() {\r
553 if (jTextFieldURL == null) {\r
554 jTextFieldURL = new JTextField();\r
0f6a6511 555 jTextFieldURL.setPreferredSize(new java.awt.Dimension(valueWidth, 20));\r
556 jTextFieldURL.setLocation(new java.awt.Point(valueCol, 430));\r
557 jTextFieldURL.setSize(new java.awt.Dimension(valueWidth, 20));\r
a13899c5 558 jTextFieldURL.addFocusListener(this);\r
623db5ca 559 jTextFieldURL.setToolTipText("A URL for the latest version of the license.");\r
a13899c5 560 }\r
561 return jTextFieldURL;\r
562 }\r
563\r
564 /**\r
739c6b04 565 This method initializes jScrollPane \r
566 \r
567 @return javax.swing.JScrollPane \r
568 \r
569 **/\r
a13899c5 570 private JScrollPane getJScrollPane() {\r
571 if (jScrollPane == null) {\r
572 jScrollPane = new JScrollPane();\r
573 jScrollPane.setViewportView(getJContentPane());\r
574 }\r
575 return jScrollPane;\r
576 }\r
577\r
739c6b04 578 /**\r
579 This method initializes jScrollPaneCopyright \r
580 \r
581 @return javax.swing.JScrollPane \r
582 \r
583 **/\r
584 private JScrollPane getJScrollPaneCopyright() {\r
585 if (jScrollPaneCopyright == null) {\r
586 jScrollPaneCopyright = new JScrollPane();\r
0f6a6511 587 jScrollPaneCopyright.setBounds(new java.awt.Rectangle(valueCol, 260, valueWidth, 40));\r
588 jScrollPaneCopyright.setPreferredSize(new java.awt.Dimension(valueWidth, 40));\r
739c6b04 589 jScrollPaneCopyright.setViewportView(getJTextAreaCopyright());\r
0f6a6511 590 jScrollPaneCopyright.setSize(new java.awt.Dimension(valueWidth, 40));\r
739c6b04 591 }\r
592 return jScrollPaneCopyright;\r
593 }\r
a13899c5 594\r
739c6b04 595 /**\r
596 This method initializes jTextAreaCopyright \r
597 \r
598 @return javax.swing.JTextArea \r
599 \r
600 **/\r
601 private JTextArea getJTextAreaCopyright() {\r
602 if (jTextAreaCopyright == null) {\r
603 jTextAreaCopyright = new JTextArea();\r
604 jTextAreaCopyright.setLineWrap(true);\r
605 jTextAreaCopyright.addFocusListener(this);\r
606 jTextAreaCopyright.setWrapStyleWord(true);\r
607 jTextAreaCopyright.setSelectionStart(0);\r
608 jTextAreaCopyright.setSelectionEnd(0);\r
0f6a6511 609 jTextAreaCopyright.setBounds(new java.awt.Rectangle(0, 0, valueWidth, 40));\r
623db5ca 610 jTextAreaCopyright.setToolTipText("One or more copyright lines.");\r
739c6b04 611 }\r
612 return jTextAreaCopyright;\r
613 }\r
614\r
739c6b04 615 /**\r
616 * This method initializes jTextFieldOutputFileBasename \r
617 * \r
618 * @return javax.swing.JTextField \r
619 */\r
620 private JTextField getJTextFieldOutputFileBasename() {\r
621 if (jTextFieldOutputFileBasename == null) {\r
622 jTextFieldOutputFileBasename = new JTextField();\r
0f6a6511 623 jTextFieldOutputFileBasename.setBounds(new java.awt.Rectangle(valueCol, 455, valueWidth, 20));\r
624 jTextFieldOutputFileBasename.setPreferredSize(new java.awt.Dimension(valueWidth, 20));\r
739c6b04 625 jTextFieldOutputFileBasename.addFocusListener(this);\r
623db5ca 626 jTextFieldOutputFileBasename.setToolTipText("Enter a single word for generated output file names.");\r
739c6b04 627 }\r
628 return jTextFieldOutputFileBasename;\r
a13899c5 629 }\r
630\r
3b7a9058 631 /**\r
632 * This method initializes jComboBoxPcdIsDriver \r
633 * \r
634 * @return javax.swing.JComboBox \r
635 */\r
6173283b 636 private JTextField getJComboBoxPcdIsDriver() {\r
3b7a9058 637 if (jComboBoxPcdIsDriver == null) {\r
6173283b 638 jComboBoxPcdIsDriver = new JTextField();\r
0f6a6511 639 jComboBoxPcdIsDriver.setPreferredSize(new java.awt.Dimension(valueWidth, 20));\r
640 jComboBoxPcdIsDriver.setBounds(new java.awt.Rectangle(valueCol, 530, valueWidth, 20));\r
6173283b 641 //jComboBoxPcdIsDriver.addItemListener(this);\r
d933fc5f 642 jComboBoxPcdIsDriver.addFocusListener(this);\r
3b7a9058 643 jComboBoxPcdIsDriver.setEnabled(false);\r
6173283b 644 //Tools.generateComboBoxByVector(jComboBoxPcdIsDriver, ed.getVPcdDriverTypes());\r
0f6a6511 645 jComboBoxPcdIsDriver.setVisible(false);\r
3b7a9058 646 }\r
647 return jComboBoxPcdIsDriver;\r
648 }\r
649\r
a13899c5 650 /**\r
651 This is the default constructor\r
652 \r
653 **/\r
654 public MsaHeader() {\r
655 super();\r
656 init();\r
657 this.setVisible(true);\r
658 }\r
659\r
660 /**\r
661 This is the override edit constructor\r
662 \r
663 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader\r
664 \r
665 **/\r
666 public MsaHeader(OpeningModuleType inMsa) {\r
667 super();\r
668 this.omt = inMsa;\r
669 this.msa = omt.getXmlMsa();\r
2003a22e 670\r
9a8d6d9f 671 // \r
672 // Set module definitions default value\r
673 //\r
674 if (msa.getModuleDefinitions() == null) {\r
2003a22e 675 ModuleDefinitionsDocument.ModuleDefinitions md = ModuleDefinitionsDocument.ModuleDefinitions.Factory\r
676 .newInstance();\r
9a8d6d9f 677 md.setOutputFileBasename(msa.getMsaHeader().getModuleName());\r
678 md.setBinaryModule(false);\r
679 md.setSupportedArchitectures(ed.getVSupportedArchitectures());\r
680 msa.setModuleDefinitions(md);\r
681 }\r
3b7a9058 682\r
683 //\r
684 // Init items of Header, Definitions and Externs\r
685 //\r
a13899c5 686 init(msa.getMsaHeader());\r
739c6b04 687 init(msa.getModuleDefinitions());\r
3b7a9058 688 init(msa.getExterns());\r
689\r
a13899c5 690 this.setVisible(true);\r
691 this.setViewMode(false);\r
692 }\r
693\r
694 /**\r
695 Disable all components when the mode is view\r
696 \r
697 @param isView true - The view mode; false - The non-view mode\r
698 \r
699 **/\r
700 public void setViewMode(boolean isView) {\r
a13899c5 701 if (isView) {\r
702 this.jTextFieldBaseName.setEnabled(!isView);\r
703 this.jTextFieldGuid.setEnabled(!isView);\r
704 this.jTextFieldVersion.setEnabled(!isView);\r
705 this.jTextAreaLicense.setEnabled(!isView);\r
739c6b04 706 this.jTextAreaCopyright.setEnabled(!isView);\r
a13899c5 707 this.jTextAreaDescription.setEnabled(!isView);\r
708 this.jTextFieldSpecification.setEnabled(!isView);\r
709 this.jTextFieldAbstract.setEnabled(!isView);\r
710 this.jComboBoxModuleType.setEnabled(!isView);\r
711 this.jButtonCancel.setEnabled(!isView);\r
712 this.jButtonGenerateGuid.setEnabled(!isView);\r
713 this.jButtonOk.setEnabled(!isView);\r
714 }\r
715 }\r
716\r
717 /**\r
718 This method initializes this\r
719 \r
720 **/\r
721 private void init() {\r
9d0ac02b 722 this.setSize(dialogWidth, dialogHeight);\r
723 this.setPreferredSize(new java.awt.Dimension(dialogWidth, dialogHeight));\r
a13899c5 724 this.setContentPane(getJScrollPane());\r
725 this.setTitle("Module Surface Area Header");\r
726 initFrame();\r
727 }\r
728\r
729 /**\r
730 This method initializes this\r
731 Fill values to all fields if these values are not empty\r
732 \r
733 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader\r
734 \r
735 **/\r
736 private void init(MsaHeaderDocument.MsaHeader inMsaHeader) {\r
737 init();\r
738 if (inMsaHeader != null) {\r
739 setMsaHeader(inMsaHeader);\r
740 if (this.msaHeader.getModuleName() != null) {\r
741 this.jTextFieldBaseName.setText(this.msaHeader.getModuleName());\r
742 }\r
743 if (this.msaHeader.getModuleType() != null) {\r
744 this.jComboBoxModuleType.setSelectedItem(this.msaHeader.getModuleType().toString());\r
745 }\r
746 if (this.msaHeader.getGuidValue() != null) {\r
747 this.jTextFieldGuid.setText(this.msaHeader.getGuidValue());\r
748 }\r
749 if (this.msaHeader.getVersion() != null) {\r
750 this.jTextFieldVersion.setText(this.msaHeader.getVersion());\r
751 }\r
752 if (this.msaHeader.getAbstract() != null) {\r
753 this.jTextFieldAbstract.setText(this.msaHeader.getAbstract());\r
754 }\r
755 if (this.msaHeader.getDescription() != null) {\r
756 this.jTextAreaDescription.setText(this.msaHeader.getDescription());\r
9a8d6d9f 757 jTextAreaDescription.setSelectionStart(0);\r
758 jTextAreaDescription.setSelectionEnd(0);\r
a13899c5 759 }\r
760 if (this.msaHeader.getCopyright() != null) {\r
739c6b04 761 this.jTextAreaCopyright.setText(this.msaHeader.getCopyright());\r
a13899c5 762 }\r
763 if (this.msaHeader.getLicense() != null) {\r
764 this.jTextAreaLicense.setText(this.msaHeader.getLicense().getStringValue());\r
9a8d6d9f 765 jTextAreaLicense.setSelectionStart(0);\r
766 jTextAreaLicense.setSelectionEnd(0);\r
a13899c5 767 }\r
768 if (this.msaHeader.getLicense() != null && this.msaHeader.getLicense().getURL() != null) {\r
769 this.jTextFieldURL.setText(this.msaHeader.getLicense().getURL());\r
770 }\r
771 if (this.msaHeader.getSpecification() != null) {\r
772 this.jTextFieldSpecification.setText(this.msaHeader.getSpecification());\r
773 }\r
774 }\r
775 }\r
776\r
739c6b04 777 /**\r
778 This method initializes this\r
779 Fill values to all fields if these values are not empty\r
780 \r
781 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader\r
782 \r
783 **/\r
784 private void init(ModuleDefinitionsDocument.ModuleDefinitions inMd) {\r
739c6b04 785 if (inMd != null) {\r
786 this.md = inMd;\r
787 if (md.getSupportedArchitectures() != null) {\r
788 this.setSelectedItems(Tools.convertListToVector(md.getSupportedArchitectures()));\r
789 }\r
790 if (md.getBinaryModule()) {\r
b63cc1b6 791 this.jRadioButtonBinaryModuleTrue.setSelected(true);\r
739c6b04 792 } else {\r
b63cc1b6 793 this.jRadioButtonBinaryModuleFalse.setSelected(true);\r
739c6b04 794 }\r
795 if (md.getOutputFileBasename() != null) {\r
796 this.jTextFieldOutputFileBasename.setText(md.getOutputFileBasename());\r
797 }\r
798 }\r
799 }\r
800\r
3b7a9058 801 /**\r
802 This method initializes this\r
803 Fill values to all fields if these values are not empty\r
804 \r
805 @param inEx The input data of ExternsDocument.Externs\r
806 \r
807 **/\r
808 private void init(ExternsDocument.Externs inEx) {\r
809 if (inEx != null) {\r
810 this.ex = inEx;\r
811 if (ex.getPcdIsDriver() != null) {\r
812 this.jCheckBoxPcd.setSelected(true);\r
6173283b 813 this.jCheckBoxPcd.setEnabled(true);\r
3b7a9058 814 }\r
815 this.jCheckBoxFlashMap.setSelected(ex.getTianoR8FlashMapH());\r
816 }\r
817 }\r
818\r
a13899c5 819 /**\r
820 This method initializes jContentPane\r
821 \r
822 @return javax.swing.JPanel jContentPane\r
823 \r
824 **/\r
825 private JPanel getJContentPane() {\r
826 if (jContentPane == null) {\r
827\r
828 jLabelURL = new JLabel();\r
829 jLabelURL.setText("License URL");\r
0f6a6511 830 jLabelURL.setLocation(new java.awt.Point(labelCol, 430));\r
831 jLabelURL.setSize(new java.awt.Dimension(labelWidth, 20));\r
a13899c5 832 jLabelBaseName = new JLabel();\r
833 jLabelBaseName.setText("Module Name");\r
0f6a6511 834 jLabelBaseName.setBounds(new java.awt.Rectangle(labelCol, 10, labelWidth, 20));\r
a13899c5 835 jLabelModuleType = new JLabel();\r
0f6a6511 836 jLabelModuleType.setBounds(new java.awt.Rectangle(labelCol, 35, labelWidth, 20));\r
a13899c5 837 jLabelModuleType.setText("Module Type");\r
838 jLabelGuid = new JLabel();\r
839 jLabelGuid.setText("Guid Value");\r
0f6a6511 840 jLabelGuid.setLocation(new java.awt.Point(labelCol, 60));\r
841 jLabelGuid.setSize(new java.awt.Dimension(labelWidth, 20));\r
a13899c5 842 jLabelVersion = new JLabel();\r
843 jLabelVersion.setText("Version");\r
0f6a6511 844 jLabelVersion.setLocation(new java.awt.Point(labelCol, 85));\r
845 jLabelVersion.setSize(new java.awt.Dimension(labelWidth, 20));\r
a13899c5 846 jLabelAbstract = new JLabel();\r
847 jLabelAbstract.setText("Abstract");\r
0f6a6511 848 jLabelAbstract.setLocation(new java.awt.Point(labelCol, 110));\r
849 jLabelAbstract.setSize(new java.awt.Dimension(labelWidth, 20));\r
a13899c5 850 jLabelDescription = new JLabel();\r
851 jLabelDescription.setText("Description");\r
0f6a6511 852 jLabelDescription.setLocation(new java.awt.Point(labelCol, 135));\r
853 jLabelDescription.setSize(new java.awt.Dimension(labelWidth, 20));\r
a13899c5 854 jLabelCopyright = new JLabel();\r
855 jLabelCopyright.setText("Copyright");\r
0f6a6511 856 jLabelCopyright.setLocation(new java.awt.Point(labelCol, 260));\r
857 jLabelCopyright.setSize(new java.awt.Dimension(labelWidth, 20));\r
a13899c5 858 jLabelLicense = new JLabel();\r
859 jLabelLicense.setText("License");\r
0f6a6511 860 jLabelLicense.setLocation(new java.awt.Point(labelCol, 305));\r
861 jLabelLicense.setSize(new java.awt.Dimension(labelWidth, 20));\r
739c6b04 862 jLabelOutputFileBasename = new JLabel();\r
0f6a6511 863 jLabelOutputFileBasename.setBounds(new java.awt.Rectangle(labelCol, 455, labelWidth, 20));\r
739c6b04 864 jLabelOutputFileBasename.setText("Output File Basename");\r
865 jLabelBinaryModule = new JLabel();\r
0f6a6511 866 jLabelBinaryModule.setBounds(new java.awt.Rectangle(labelCol, 480, labelWidth, 20));\r
739c6b04 867 jLabelBinaryModule.setText("Binary Module");\r
868 jLabelArch = new JLabel();\r
0f6a6511 869 jLabelArch.setBounds(new java.awt.Rectangle(labelCol, 505, labelWidth, 20));\r
739c6b04 870 jLabelArch.setText("Supported Architectures");\r
a13899c5 871 jLabelSpecification = new JLabel();\r
872 jLabelSpecification.setText("Specification");\r
0f6a6511 873 jLabelSpecification.setLocation(new java.awt.Point(labelCol, 530));\r
874 jLabelSpecification.setSize(new java.awt.Dimension(labelWidth, 20));\r
a13899c5 875\r
876 jContentPane = new JPanel();\r
877 jContentPane.setLayout(null);\r
9d0ac02b 878 jContentPane.setPreferredSize(new java.awt.Dimension(dialogWidth - 10, dialogHeight - 10));\r
3b7a9058 879\r
739c6b04 880 jContentPane.addFocusListener(this);\r
a13899c5 881\r
882 jContentPane.add(jLabelBaseName, null);\r
883 jContentPane.add(getJTextFieldBaseName(), null);\r
884 jContentPane.add(jLabelGuid, null);\r
885 jContentPane.add(getJTextFieldGuid(), null);\r
886 jContentPane.add(jLabelVersion, null);\r
887 jContentPane.add(getJTextFieldVersion(), null);\r
888 jContentPane.add(getJButtonGenerateGuid(), null);\r
889 jContentPane.add(jLabelLicense, null);\r
890 jContentPane.add(jLabelCopyright, null);\r
891 jContentPane.add(jLabelDescription, null);\r
a13899c5 892 jContentPane.add(getJTextFieldSpecification(), null);\r
893 jContentPane.add(getJButtonOk(), null);\r
894 jContentPane.add(getJButtonCancel(), null);\r
895 jContentPane.add(getJScrollPaneLicense(), null);\r
896 jContentPane.add(getJScrollPaneDescription(), null);\r
897 jContentPane.add(jLabelAbstract, null);\r
898 jContentPane.add(getJTextFieldAbstract(), null);\r
899 jContentPane.add(jLabelModuleType, null);\r
900 jContentPane.add(getJComboBoxModuleType(), null);\r
901 jContentPane.add(jLabelURL, null);\r
902 jContentPane.add(getJTextFieldURL(), null);\r
739c6b04 903 jContentPane.add(jLabelOutputFileBasename, null);\r
904 jContentPane.add(getJTextFieldOutputFileBasename(), null);\r
905 jContentPane.add(jLabelBinaryModule, null);\r
739c6b04 906 jContentPane.add(jLabelArch, null);\r
907\r
a13899c5 908 jStarLabel1 = new StarLabel();\r
909 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
910 jStarLabel2 = new StarLabel();\r
911 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
912 jStarLabel4 = new StarLabel();\r
913 jStarLabel4.setLocation(new java.awt.Point(0, 60));\r
914 jStarLabel5 = new StarLabel();\r
915 jStarLabel5.setLocation(new java.awt.Point(0, 85));\r
916 jStarLabel6 = new StarLabel();\r
917 jStarLabel6.setLocation(new java.awt.Point(0, 135));\r
918 jStarLabel7 = new StarLabel();\r
919 jStarLabel7.setLocation(new java.awt.Point(0, 260));\r
920 jStarLabel8 = new StarLabel();\r
739c6b04 921 jStarLabel8.setLocation(new java.awt.Point(0, 305));\r
a13899c5 922 jStarLabel10 = new StarLabel();\r
923 jStarLabel10.setLocation(new java.awt.Point(0, 110));\r
924 jStarLabel12 = new StarLabel();\r
739c6b04 925 jStarLabel12.setLocation(new java.awt.Point(0, 455));\r
926 jStarLabel13 = new StarLabel();\r
927 jStarLabel13.setLocation(new java.awt.Point(0, 480));\r
928 jStarLabel14 = new StarLabel();\r
929 jStarLabel14.setLocation(new java.awt.Point(0, 505));\r
a13899c5 930\r
931 jContentPane.add(jStarLabel1, null);\r
932 jContentPane.add(jStarLabel2, null);\r
933 jContentPane.add(jStarLabel4, null);\r
934 jContentPane.add(jStarLabel5, null);\r
935 jContentPane.add(jStarLabel6, null);\r
936 jContentPane.add(jStarLabel7, null);\r
937 jContentPane.add(jStarLabel8, null);\r
938 jContentPane.add(jStarLabel10, null);\r
939 jContentPane.add(jStarLabel12, null);\r
739c6b04 940 jContentPane.add(jStarLabel13, null);\r
941 jContentPane.add(jStarLabel14, null);\r
739c6b04 942 jContentPane.add(getJScrollPaneCopyright(), null);\r
943\r
944 jContentPane.add(getJCheckBoxIa32(), null);\r
945 jContentPane.add(getJCheckBoxX64(), null);\r
946 jContentPane.add(getJCheckBoxIpf(), null);\r
947 jContentPane.add(getJCheckBoxEbc(), null);\r
948 jContentPane.add(getJCheckBoxArm(), null);\r
949 jContentPane.add(getJCheckBoxPpc(), null);\r
3b7a9058 950\r
951 jContentPane.add(getJCheckBoxPcd(), null);\r
952 jContentPane.add(getJComboBoxPcdIsDriver(), null);\r
953 jContentPane.add(getJCheckBoxFlashMap(), null);\r
b63cc1b6 954\r
955 ButtonGroup bg = new ButtonGroup();\r
956 jContentPane.add(getJRadioButtonBinaryModuleTrue(), null);\r
957 jContentPane.add(getJRadioButtonBinaryModuleFalse(), null);\r
958 bg.add(getJRadioButtonBinaryModuleTrue());\r
959 bg.add(getJRadioButtonBinaryModuleFalse());\r
a13899c5 960 }\r
961 return jContentPane;\r
962 }\r
963\r
964 /* (non-Javadoc)\r
965 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
966 *\r
967 * Override actionPerformed to listen all actions\r
968 *\r
969 */\r
970 public void actionPerformed(ActionEvent arg0) {\r
a13899c5 971 if (arg0.getSource() == jButtonGenerateGuid) {\r
972 jTextFieldGuid.setText(Tools.generateUuidString());\r
d1760183 973 jTextFieldGuid.requestFocus();\r
974 jButtonGenerateGuid.requestFocus();\r
a13899c5 975 }\r
976 }\r
977\r
978 /**\r
979 Data validation for all fields\r
980 \r
981 @retval true - All datas are valid\r
982 @retval false - At least one data is invalid\r
983 \r
984 **/\r
985 public boolean check() {\r
986 //\r
987 // Check if all required fields are not empty\r
988 // and check if all data fields values are valid\r
989 //\r
990\r
991 //\r
992 // Check Base Name\r
993 //\r
994 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
623db5ca 995 Log.wrn("Update Msa Header", "Name must be entered!");\r
a13899c5 996 //this.jTextFieldBaseName.requestFocus();\r
997 return false;\r
998 }\r
999 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
623db5ca 1000 Log.wrn("Update Msa Header", "Incorrect data type for Name, it must start with an alpha character!");\r
a13899c5 1001 //this.jTextFieldBaseName.requestFocus();\r
1002 return false;\r
1003 }\r
1004\r
1005 //\r
1006 // Check Guid\r
1007 //\r
1008 if (isEmpty(this.jTextFieldGuid.getText())) {\r
623db5ca 1009 Log.wrn("Update Msa Header", "The Guid Value must be entered!");\r
a13899c5 1010 //this.jTextFieldGuid.requestFocus();\r
1011 return false;\r
1012 }\r
1013 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
623db5ca 1014 Log.wrn("Update Msa Header", "Incorrect data type for Guid, it must be registry format, 8-4-4-4-12");\r
a13899c5 1015 //this.jTextFieldGuid.requestFocus();\r
1016 return false;\r
1017 }\r
1018\r
1019 //\r
1020 // Check Version\r
1021 //\r
1022 if (isEmpty(this.jTextFieldVersion.getText())) {\r
623db5ca 1023 Log.wrn("Update Msa Header", "Version must be entered!");\r
a13899c5 1024 //this.jTextFieldVersion.requestFocus();\r
1025 return false;\r
1026 }\r
1027 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {\r
623db5ca 1028 Log.wrn("Update Msa Header", "Incorrect data type for Version, it must start with a digit.");\r
a13899c5 1029 //this.jTextFieldVersion.requestFocus();\r
1030 return false;\r
1031 }\r
1032\r
1033 //\r
1034 // Check Abstact\r
1035 //\r
1036 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
623db5ca 1037 Log.wrn("Update Msa Header", "Abstract must be entered!");\r
a13899c5 1038 //this.jTextFieldAbstract.requestFocus();\r
1039 return false;\r
1040 }\r
1041 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
3b7a9058 1042 Log.wrn("Update Msa Header",\r
1043 "Incorrect data type for Abstract, is should be a sentence describing the module.");\r
a13899c5 1044 //this.jTextFieldAbstract.requestFocus();\r
1045 return false;\r
1046 }\r
1047\r
1048 //\r
1049 // Check Description\r
1050 //\r
1051 if (isEmpty(this.jTextAreaDescription.getText())) {\r
623db5ca 1052 Log.wrn("Update Msa Header", "Description must be entered!");\r
a13899c5 1053 //this.jTextAreaDescription.requestFocus();\r
1054 return false;\r
1055 }\r
1056\r
1057 //\r
1058 // Check Copyright\r
1059 //\r
739c6b04 1060 if (isEmpty(this.jTextAreaCopyright.getText())) {\r
623db5ca 1061 Log.wrn("Update Msa Header", "Copyright must be entered!");\r
a13899c5 1062 //this.jTextFieldCopyright.requestFocus();\r
1063 return false;\r
1064 }\r
1065\r
1066 //\r
1067 // Check License\r
1068 //\r
1069 if (isEmpty(this.jTextAreaLicense.getText())) {\r
623db5ca 1070 Log.wrn("Update Msa Header", "License must be entered!");\r
a13899c5 1071 //this.jTextAreaLicense.requestFocus();\r
1072 return false;\r
1073 }\r
1074\r
1075 //\r
1076 // Check Specification\r
1077 //\r
1078 if (isEmpty(this.jTextFieldSpecification.getText())) {\r
623db5ca 1079 Log.wrn("Update Msa Header", "Specification must exist.");\r
a13899c5 1080 //this.jTextFieldSpecification.requestFocus();\r
1081 return false;\r
1082 }\r
1083 if (!DataValidation.isSpecification(this.jTextFieldSpecification.getText())) {\r
9d0ac02b 1084 // TODO Add code to check the specification number.\r
1085 // Future releases of Schema may require that we process these files\r
1086 // differently.\r
ed1665f2 1087 Log.wrn("Update Msa Header", "Incorrect data type for Specification");\r
a13899c5 1088 //this.jTextFieldSpecification.requestFocus();\r
1089 return false;\r
1090 }\r
1091\r
1092 return true;\r
1093 }\r
1094\r
1095 /**\r
1096 Save all components of Msa Header\r
1097 if exists msaHeader, set the value directly\r
1098 if not exists msaHeader, new an instance first\r
1099 \r
1100 **/\r
1101 public void save() {\r
1102 try {\r
55a2762d 1103 msaHeader.setSpecification(this.jTextFieldSpecification.getText());\r
a13899c5 1104 msa.setMsaHeader(msaHeader);\r
739c6b04 1105 msa.setModuleDefinitions(md);\r
a13899c5 1106 this.omt.setSaved(false);\r
1107 } catch (Exception e) {\r
ed1665f2 1108 Log.wrn("Save Module", e.getMessage());\r
a13899c5 1109 Log.err("Save Module", e.getMessage());\r
1110 }\r
1111 }\r
1112\r
1113 /**\r
1114 This method initializes Module type and Compontent type\r
1115 \r
1116 **/\r
1117 private void initFrame() {\r
1118 EnumerationData ed = new EnumerationData();\r
1119 Tools.generateComboBoxByVector(jComboBoxModuleType, ed.getVModuleType());\r
739c6b04 1120 this.setSelectedItems(ed.getVSupportedArchitectures());\r
a13899c5 1121 }\r
1122\r
1123 /**\r
1124 Get MsaHeaderDocument.MsaHeader\r
1125 \r
1126 @return MsaHeaderDocument.MsaHeader\r
1127 \r
1128 **/\r
1129 public MsaHeaderDocument.MsaHeader getMsaHeader() {\r
1130 return msaHeader;\r
1131 }\r
1132\r
1133 /**\r
1134 Set MsaHeaderDocument.MsaHeader\r
1135 \r
1136 @param msaHeader The input data of MsaHeaderDocument.MsaHeader\r
1137 \r
1138 **/\r
1139 public void setMsaHeader(MsaHeaderDocument.MsaHeader msaHeader) {\r
1140 this.msaHeader = msaHeader;\r
1141 }\r
1142\r
1143 /* (non-Javadoc)\r
1144 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
1145 * \r
1146 * Override componentResized to resize all components when frame's size is changed\r
1147 */\r
1148 public void componentResized(ComponentEvent arg0) {\r
1149 int intCurrentWidth = this.getJContentPane().getWidth();\r
1150 int intPreferredWidth = this.getJContentPane().getPreferredSize().width;\r
1151\r
8792f60f 1152 Tools.resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth, intPreferredWidth);\r
9a362ae7 1153 Tools.resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth, intPreferredWidth + 7);\r
8792f60f 1154 Tools.resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth, intPreferredWidth);\r
1155 Tools.resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth, intPreferredWidth);\r
1156 Tools.resizeComponentWidth(this.jTextFieldURL, intCurrentWidth, intPreferredWidth);\r
1157 Tools.resizeComponentWidth(this.jScrollPaneCopyright, intCurrentWidth, intPreferredWidth);\r
1158 Tools.resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth, intPreferredWidth);\r
b63cc1b6 1159 Tools.resizeComponentWidth(this.jTextFieldSpecification, intCurrentWidth, intPreferredWidth);\r
8792f60f 1160 Tools.resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth, intPreferredWidth);\r
b63cc1b6 1161 Tools.resizeComponentWidth(this.jComboBoxModuleType, intCurrentWidth, intPreferredWidth);\r
8792f60f 1162 Tools.resizeComponentWidth(this.jTextFieldOutputFileBasename, intCurrentWidth, intPreferredWidth);\r
b63cc1b6 1163 Tools.resizeComponentWidth(this.jComboBoxPcdIsDriver, intCurrentWidth, intPreferredWidth);\r
8792f60f 1164\r
1165 Tools.relocateComponentX(this.jButtonGenerateGuid, intCurrentWidth, intPreferredWidth,\r
b63cc1b6 1166 DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);\r
a13899c5 1167 }\r
1168\r
1169 public void focusLost(FocusEvent arg0) {\r
1170 if (this.msaHeader == null) {\r
1171 msaHeader = MsaHeaderDocument.MsaHeader.Factory.newInstance();\r
1172 }\r
2003a22e 1173\r
a13899c5 1174 //\r
1175 // Check BaseName\r
1176 //\r
1177 if (arg0.getSource() == this.jTextFieldBaseName) {\r
1178 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
623db5ca 1179 Log.wrn("Update Msa Header", "The Name must be entered!");\r
a13899c5 1180 //this.jTextFieldBaseName.requestFocus();\r
1181 return;\r
1182 }\r
1183 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
623db5ca 1184 Log.wrn("Update Msa Header", "Incorrect data type for Name, it must begin with an alpha character.");\r
a13899c5 1185 //this.jTextFieldBaseName.requestFocus();\r
1186 return;\r
1187 }\r
2003a22e 1188 if (!this.jTextFieldBaseName.getText().equals(msaHeader.getModuleName())) {\r
1189 this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());\r
1190 } else {\r
1191 return;\r
1192 }\r
a13899c5 1193 }\r
1194\r
1195 //\r
1196 // Check Module Type\r
1197 //\r
1198 if (arg0.getSource() == this.jComboBoxModuleType) {\r
2003a22e 1199 if (!jComboBoxModuleType.getSelectedItem().toString().equals(msaHeader.getModuleType().toString())) {\r
1200 msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString()));\r
1201 } else {\r
1202 return;\r
1203 }\r
a13899c5 1204 }\r
1205\r
1206 //\r
1207 // Check Guid\r
1208 //\r
1209 if (arg0.getSource() == this.jTextFieldGuid) {\r
1210 if (isEmpty(this.jTextFieldGuid.getText())) {\r
623db5ca 1211 Log.wrn("Update Msa Header", "Guid must be entered!");\r
a13899c5 1212 //this.jTextFieldGuid.requestFocus();\r
1213 return;\r
1214 }\r
1215 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
623db5ca 1216 Log.wrn("Update Msa Header", "Incorrect data type for Guid, it must be registry format. (8-4-4-4-12)");\r
a13899c5 1217 //this.jTextFieldGuid.requestFocus();\r
1218 return;\r
1219 }\r
2003a22e 1220 if (!this.jTextFieldGuid.getText().equals(msaHeader.getGuidValue())) {\r
1221 this.msaHeader.setGuidValue(this.jTextFieldGuid.getText());\r
1222 } else {\r
1223 return;\r
1224 }\r
a13899c5 1225 }\r
1226\r
1227 //\r
1228 // Check Version\r
1229 //\r
1230 if (arg0.getSource() == this.jTextFieldVersion) {\r
a13899c5 1231 if (isEmpty(this.jTextFieldVersion.getText())) {\r
623db5ca 1232 Log.wrn("Update Msa Header", "Version must be entered!");\r
a13899c5 1233 //this.jTextFieldVersion.requestFocus();\r
1234 return;\r
1235 }\r
1236 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {\r
623db5ca 1237 Log.wrn("Update Msa Header", "Incorrect data type for Version, it must start with a digit.");\r
a13899c5 1238 //this.jTextFieldVersion.requestFocus();\r
1239 return;\r
1240 }\r
2003a22e 1241 if (!this.jTextFieldVersion.getText().equals(msaHeader.getVersion())) {\r
1242 this.msaHeader.setVersion(this.jTextFieldVersion.getText());\r
1243 } else {\r
1244 return;\r
1245 }\r
a13899c5 1246 }\r
1247\r
1248 //\r
1249 // Check Abstact\r
1250 //\r
1251 if (arg0.getSource() == this.jTextFieldAbstract) {\r
1252 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
623db5ca 1253 Log.wrn("Update Msa Header", "Abstract must be entered!");\r
a13899c5 1254 //this.jTextFieldAbstract.requestFocus();\r
1255 return;\r
1256 }\r
1257 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
623db5ca 1258 Log.wrn("Update Msa Header", "Incorrect data type for Abstract, it must be sentence.");\r
a13899c5 1259 //this.jTextFieldAbstract.requestFocus();\r
1260 return;\r
1261 }\r
2003a22e 1262 if (!this.jTextFieldAbstract.getText().equals(msaHeader.getAbstract())) {\r
1263 this.msaHeader.setAbstract(this.jTextFieldAbstract.getText());\r
1264 } else {\r
1265 return;\r
1266 }\r
a13899c5 1267 }\r
1268\r
1269 //\r
1270 // Check Description\r
1271 //\r
1272 if (arg0.getSource() == this.jTextAreaDescription) {\r
1273 if (isEmpty(this.jTextAreaDescription.getText())) {\r
623db5ca 1274 Log.wrn("Update Msa Header", "Description must be entered!");\r
a13899c5 1275 //this.jTextAreaDescription.requestFocus();\r
1276 return;\r
1277 }\r
2003a22e 1278 if (!this.jTextAreaDescription.getText().equals(msaHeader.getDescription())) {\r
1279 this.msaHeader.setDescription(this.jTextAreaDescription.getText());\r
1280 } else {\r
1281 return;\r
1282 }\r
a13899c5 1283 }\r
1284\r
1285 //\r
1286 // Check Copyright\r
1287 //\r
739c6b04 1288 if (arg0.getSource() == this.jTextAreaCopyright) {\r
1289 if (isEmpty(this.jTextAreaCopyright.getText())) {\r
623db5ca 1290 Log.wrn("Update Msa Header", "Copyright must be entered!");\r
a13899c5 1291 //this.jTextFieldCopyright.requestFocus();\r
1292 return;\r
1293 }\r
739c6b04 1294 if (!this.jTextAreaCopyright.getText().equals(msaHeader.getCopyright())) {\r
1295 this.msaHeader.setCopyright(this.jTextAreaCopyright.getText());\r
2003a22e 1296 } else {\r
1297 return;\r
1298 }\r
a13899c5 1299 }\r
1300\r
1301 //\r
1302 // Check License\r
1303 //\r
1304 if (arg0.getSource() == this.jTextAreaLicense) {\r
1305 if (isEmpty(this.jTextAreaLicense.getText())) {\r
623db5ca 1306 Log.wrn("Update Msa Header", "License must be entered!");\r
a13899c5 1307 //this.jTextAreaLicense.requestFocus();\r
1308 return;\r
1309 }\r
1310 if (this.msaHeader.getLicense() != null) {\r
2003a22e 1311 if (!this.jTextAreaLicense.getText().equals(msaHeader.getLicense().getStringValue())) {\r
1312 this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());\r
1313 } else {\r
1314 return;\r
1315 }\r
a13899c5 1316 } else {\r
1317 License mLicense = License.Factory.newInstance();\r
1318 mLicense.setStringValue(this.jTextAreaLicense.getText());\r
1319 this.msaHeader.setLicense(mLicense);\r
1320 }\r
1321 }\r
1322\r
1323 //\r
1324 // Check License URL\r
1325 //\r
1326 if (arg0.getSource() == this.jTextFieldURL) {\r
1327 if (!isEmpty(this.jTextFieldURL.getText())) {\r
1328 if (this.msaHeader.getLicense() == null) {\r
1329 License mLicense = License.Factory.newInstance();\r
1330 mLicense.setURL(this.jTextFieldURL.getText());\r
1331 this.msaHeader.setLicense(mLicense);\r
1332 } else {\r
2003a22e 1333 if (!this.jTextFieldURL.getText().equals(msaHeader.getLicense().getURL())) {\r
1334 this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());\r
1335 } else {\r
1336 return;\r
1337 }\r
a13899c5 1338 }\r
1339 }\r
1340 }\r
a929458e 1341\r
739c6b04 1342 //\r
1343 // Check Output File Basename\r
1344 //\r
1345 if (arg0.getSource() == this.jTextFieldOutputFileBasename) {\r
1346 if (isEmpty(this.jTextFieldOutputFileBasename.getText())) {\r
623db5ca 1347 Log.wrn("Update Msa Header", "Output File Basename must be entered!");\r
739c6b04 1348 // jTextFieldOutputFileBasename.removeFocusListener(this);\r
1349 // jTextFieldOutputFileBasename.requestFocus();\r
1350 // jTextFieldOutputFileBasename.addFocusListener(this);\r
1351 return;\r
1352 }\r
6173283b 1353\r
f436f728 1354 if (!DataValidation.isOutputFileBasename(this.jTextFieldOutputFileBasename.getText())) {\r
6173283b 1355 Log.wrn("Update Msa Header",\r
1356 "Incorrect data type for Output File Basename, it must be a valid file name");\r
f436f728 1357 return;\r
1358 }\r
6173283b 1359\r
739c6b04 1360 if (!this.jTextFieldOutputFileBasename.getText().equals(md.getOutputFileBasename())) {\r
1361 this.md.setOutputFileBasename(this.jTextFieldOutputFileBasename.getText());\r
1362 } else {\r
1363 return;\r
1364 }\r
1365 }\r
1366\r
1367 //\r
1368 // Check Binary Module Type\r
1369 //\r
b63cc1b6 1370 if (arg0.getSource() == this.jRadioButtonBinaryModuleTrue) {\r
1371 if (jRadioButtonBinaryModuleTrue.isSelected()) {\r
739c6b04 1372 if (md.getBinaryModule()) {\r
1373 return;\r
1374 } else {\r
1375 md.setBinaryModule(true);\r
1376 }\r
b63cc1b6 1377 }\r
1378 }\r
1379\r
1380 //\r
1381 // Check Binary Module Type\r
1382 //\r
1383 if (arg0.getSource() == this.jRadioButtonBinaryModuleFalse) {\r
1384 if (jRadioButtonBinaryModuleFalse.isSelected()) {\r
739c6b04 1385 if (md.getBinaryModule()) {\r
1386 md.setBinaryModule(false);\r
1387 } else {\r
1388 return;\r
1389 }\r
1390 }\r
1391 }\r
1392\r
1393 //\r
1394 // Check Supported Arch\r
1395 //\r
1396 if (arg0.getSource() == this.jCheckBoxArm || arg0.getSource() == this.jCheckBoxEbc\r
1397 || arg0.getSource() == this.jCheckBoxIa32 || arg0.getSource() == this.jCheckBoxIpf\r
1398 || arg0.getSource() == this.jCheckBoxPpc || arg0.getSource() == this.jCheckBoxX64) {\r
1399 if (!this.getSelectedItemsString().equals(md.getSupportedArchitectures().toString())) {\r
1400 md.setSupportedArchitectures(this.getSelectedItemsVector());\r
1401 } else {\r
1402 return;\r
1403 }\r
1404 }\r
1405\r
3b7a9058 1406 //\r
1407 // Check Flash Map\r
1408 //\r
1409 if (arg0.getSource() == this.jCheckBoxFlashMap) {\r
1410 if ((this.ex == null) && this.jCheckBoxFlashMap.isSelected()) {\r
1411 this.ex = ExternsDocument.Externs.Factory.newInstance();\r
1412 this.ex.setTianoR8FlashMapH(this.jCheckBoxFlashMap.isSelected());\r
1413 this.msa.setExterns(this.ex);\r
d933fc5f 1414 } else if ((this.ex != null) && this.jCheckBoxFlashMap.isSelected()) {\r
3b7a9058 1415 this.ex.setTianoR8FlashMapH(this.jCheckBoxFlashMap.isSelected());\r
1416 this.msa.setExterns(this.ex);\r
d933fc5f 1417 } else if ((this.ex != null) && !this.jCheckBoxFlashMap.isSelected()) {\r
3b7a9058 1418 ExternsDocument.Externs newEx = ExternsDocument.Externs.Factory.newInstance();\r
1419 if (this.ex.getExternList() != null) {\r
1420 for (int index = 0; index < this.ex.getExternList().size(); index++) {\r
1421 newEx.addNewExtern();\r
1422 newEx.setExternArray(index, this.ex.getExternArray(index));\r
1423 }\r
1424 }\r
1425 if (this.ex.getSpecificationList() != null) {\r
1426 for (int index = 0; index < this.ex.getSpecificationList().size(); index++) {\r
1427 newEx.addNewSpecification();\r
1428 newEx.setSpecificationArray(index, this.ex.getSpecificationArray(index));\r
1429 }\r
1430 }\r
1431 if (this.ex.getPcdIsDriver() != null) {\r
1432 newEx.setPcdIsDriver(this.ex.getPcdIsDriver());\r
1433 }\r
1434 this.ex = newEx;\r
1435 this.msa.setExterns(this.ex);\r
1436 }\r
1437 }\r
1438\r
a13899c5 1439 this.save();\r
1440 }\r
739c6b04 1441\r
1442 private Vector<String> getSelectedItemsVector() {\r
1443 Vector<String> v = new Vector<String>();\r
1444 if (this.jCheckBoxIa32.isSelected()) {\r
1445 v.addElement(jCheckBoxIa32.getText());\r
1446 }\r
1447 if (this.jCheckBoxX64.isSelected()) {\r
1448 v.addElement(jCheckBoxX64.getText());\r
1449 }\r
1450 if (this.jCheckBoxIpf.isSelected()) {\r
1451 v.addElement(jCheckBoxIpf.getText());\r
1452 }\r
1453 if (this.jCheckBoxEbc.isSelected()) {\r
1454 v.addElement(jCheckBoxEbc.getText());\r
1455 }\r
1456 if (this.jCheckBoxArm.isSelected()) {\r
1457 v.addElement(jCheckBoxArm.getText());\r
1458 }\r
1459 if (this.jCheckBoxPpc.isSelected()) {\r
1460 v.addElement(jCheckBoxPpc.getText());\r
1461 }\r
1462 return v;\r
1463 }\r
1464\r
1465 private String getSelectedItemsString() {\r
1466 String s = "";\r
1467 if (this.jCheckBoxIa32.isSelected()) {\r
1468 s = s + jCheckBoxIa32.getText() + " ";\r
1469 }\r
1470 if (this.jCheckBoxX64.isSelected()) {\r
1471 s = s + jCheckBoxX64.getText() + " ";\r
1472 }\r
1473 if (this.jCheckBoxIpf.isSelected()) {\r
1474 s = s + jCheckBoxIpf.getText() + " ";\r
1475 }\r
1476 if (this.jCheckBoxEbc.isSelected()) {\r
1477 s = s + jCheckBoxEbc.getText() + " ";\r
1478 }\r
1479 if (this.jCheckBoxArm.isSelected()) {\r
1480 s = s + jCheckBoxArm.getText() + " ";\r
1481 }\r
1482 if (this.jCheckBoxPpc.isSelected()) {\r
1483 s = s + jCheckBoxPpc.getText() + " ";\r
1484 }\r
1485 return s.trim();\r
1486 }\r
1487\r
1488 private void setAllItemsSelected(boolean isSelected) {\r
6173283b 1489 this.jCheckBoxIa32.setSelected(true);\r
739c6b04 1490 this.jCheckBoxX64.setSelected(isSelected);\r
1491 this.jCheckBoxIpf.setSelected(isSelected);\r
1492 this.jCheckBoxEbc.setSelected(isSelected);\r
1493 this.jCheckBoxArm.setSelected(isSelected);\r
1494 this.jCheckBoxPpc.setSelected(isSelected);\r
1495 }\r
1496\r
1497 private void setSelectedItems(Vector<String> v) {\r
1498 setAllItemsSelected(false);\r
6173283b 1499 boolean isIA32Selected = false;\r
739c6b04 1500 if (v != null) {\r
1501 for (int index = 0; index < v.size(); index++) {\r
1502 if (v.get(index).equals(this.jCheckBoxIa32.getText())) {\r
1503 this.jCheckBoxIa32.setSelected(true);\r
6173283b 1504 isIA32Selected = true;\r
739c6b04 1505 continue;\r
1506 }\r
1507 if (v.get(index).equals(this.jCheckBoxIpf.getText())) {\r
1508 this.jCheckBoxIpf.setSelected(true);\r
1509 continue;\r
1510 }\r
1511 if (v.get(index).equals(this.jCheckBoxX64.getText())) {\r
1512 this.jCheckBoxX64.setSelected(true);\r
1513 continue;\r
1514 }\r
1515 if (v.get(index).equals(this.jCheckBoxEbc.getText())) {\r
1516 this.jCheckBoxEbc.setSelected(true);\r
1517 continue;\r
1518 }\r
1519 if (v.get(index).equals(this.jCheckBoxArm.getText())) {\r
1520 this.jCheckBoxArm.setSelected(true);\r
1521 continue;\r
1522 }\r
1523 if (v.get(index).equals(this.jCheckBoxPpc.getText())) {\r
1524 this.jCheckBoxPpc.setSelected(true);\r
1525 continue;\r
1526 }\r
1527 }\r
6173283b 1528 if (!isIA32Selected) {\r
1529 this.jCheckBoxIa32.setSelected(false);\r
1530 }\r
739c6b04 1531 }\r
1532 }\r
3b7a9058 1533\r
1534 /**\r
1535 * This method initializes jCheckBoxPcd \r
1536 * \r
1537 * @return javax.swing.JCheckBox \r
1538 */\r
1539 private JCheckBox getJCheckBoxPcd() {\r
1540 if (jCheckBoxPcd == null) {\r
1541 jCheckBoxPcd = new JCheckBox();\r
0f6a6511 1542 jCheckBoxPcd.setBounds(new java.awt.Rectangle(labelCol, 530, labelWidth, 20));\r
3b7a9058 1543 jCheckBoxPcd.setText("Is this a PCD Driver?");\r
1544 jCheckBoxPcd.addFocusListener(this);\r
1545 jCheckBoxPcd.addActionListener(this);\r
6173283b 1546 jCheckBoxPcd.setEnabled(false);\r
1547 jCheckBoxPcd.addItemListener(this);\r
3b7a9058 1548 }\r
1549 return jCheckBoxPcd;\r
1550 }\r
1551\r
1552 /**\r
1553 * This method initializes jCheckBoxFlashMap \r
1554 * \r
1555 * @return javax.swing.JCheckBox \r
1556 */\r
1557 private JCheckBox getJCheckBoxFlashMap() {\r
1558 if (jCheckBoxFlashMap == null) {\r
1559 jCheckBoxFlashMap = new JCheckBox();\r
0f6a6511 1560 jCheckBoxFlashMap.setBounds(new java.awt.Rectangle(labelCol, 555, 480, 20));\r
8de0094c 1561 jCheckBoxFlashMap.setText("Does this module require a legacy FlashMap header file?");\r
3b7a9058 1562 jCheckBoxFlashMap.addFocusListener(this);\r
1563 }\r
1564 return jCheckBoxFlashMap;\r
1565 }\r
b63cc1b6 1566\r
1567 /**\r
1568 * This method initializes jRadioButtonBinaryModuleTrue \r
1569 * \r
1570 * @return javax.swing.JRadioButton \r
1571 */\r
1572 private JRadioButton getJRadioButtonBinaryModuleTrue() {\r
1573 if (jRadioButtonBinaryModuleTrue == null) {\r
1574 jRadioButtonBinaryModuleTrue = new JRadioButton();\r
1575 jRadioButtonBinaryModuleTrue.setBounds(new java.awt.Rectangle(valueCol, 480, 140, 20));\r
1576 jRadioButtonBinaryModuleTrue.setText("True");\r
1577 jRadioButtonBinaryModuleTrue.setSelected(true);\r
1578 jRadioButtonBinaryModuleTrue.addFocusListener(this);\r
1579 jRadioButtonBinaryModuleTrue.setToolTipText("<html>Modules are either source modules <br>"\r
1580 + "which can be compiled or binary <br>"\r
1581 + "modules which are linked. <br>"\r
1582 + "A module cannot contain both. <br>"\r
1583 + "The GUID numbers should be identical <br>"\r
1584 + "for a binary and source MSA, <br>"\r
1585 + "however the BINARY MSA should have <br>"\r
1586 + "a higher version number.</html>");\r
1587 }\r
1588 return jRadioButtonBinaryModuleTrue;\r
1589 }\r
1590\r
1591 /**\r
1592 * This method initializes jRadioButtonBinaryModuleFalse \r
1593 * \r
1594 * @return javax.swing.JRadioButton \r
1595 */\r
1596 private JRadioButton getJRadioButtonBinaryModuleFalse() {\r
1597 if (jRadioButtonBinaryModuleFalse == null) {\r
1598 jRadioButtonBinaryModuleFalse = new JRadioButton();\r
1599 jRadioButtonBinaryModuleFalse.setBounds(new java.awt.Rectangle(valueCol + 140, 480, 140, 20));\r
1600 jRadioButtonBinaryModuleFalse.setText("False");\r
1601 jRadioButtonBinaryModuleFalse.addFocusListener(this);\r
1602 jRadioButtonBinaryModuleFalse.setToolTipText("<html>Modules are either source modules <br>"\r
1603 + "which can be compiled or binary <br>"\r
1604 + "modules which are linked. <br>"\r
1605 + "A module cannot contain both. <br>"\r
1606 + "The GUID numbers should be identical <br>"\r
1607 + "for a binary and source MSA, <br>"\r
1608 + "however the BINARY MSA should have <br>"\r
1609 + "a higher version number.</html>");\r
1610 }\r
1611 return jRadioButtonBinaryModuleFalse;\r
1612 }\r
6173283b 1613\r
1614 public void itemStateChanged(ItemEvent arg0) {\r
1615 if (arg0.getSource() == this.jCheckBoxIa32 || arg0.getSource() == this.jCheckBoxIpf\r
1616 || arg0.getSource() == this.jCheckBoxX64 || arg0.getSource() == this.jCheckBoxEbc\r
1617 || arg0.getSource() == this.jCheckBoxArm || arg0.getSource() == this.jCheckBoxPpc) {\r
1618 if (!this.jCheckBoxIa32.isSelected() && !this.jCheckBoxX64.isSelected() && !this.jCheckBoxIpf.isSelected()\r
1619 && !this.jCheckBoxEbc.isSelected() && !this.jCheckBoxPpc.isSelected()\r
1620 && !this.jCheckBoxArm.isSelected()) {\r
1621 Log\r
1622 .wrn("At lease one Supportted Architecture should be selected! IA32 is selected as default value!");\r
1623 this.jCheckBoxIa32.setSelected(true);\r
1624 }\r
1625 }\r
1626\r
1627 if (arg0.getSource() == this.jComboBoxModuleType) {\r
1628 if (this.jComboBoxModuleType.getSelectedItem().equals("PEIM")\r
1629 || this.jComboBoxModuleType.getSelectedItem().equals("DXE_DRIVER")) {\r
1630 this.jCheckBoxPcd.setEnabled(true);\r
1631 if (this.jCheckBoxPcd.isSelected()) {\r
1632 this.jCheckBoxPcd.setSelected(false);\r
1633 this.jCheckBoxPcd.setSelected(true);\r
1634 }\r
1635 } else {\r
1636 this.jCheckBoxPcd.setEnabled(false);\r
1637 this.jCheckBoxPcd.setSelected(false);\r
1638 }\r
1639 }\r
1640\r
1641 //\r
1642 // Check Pcd is Driver\r
1643 //\r
1644 if (arg0.getSource() == this.jCheckBoxPcd) {\r
1645 if (this.jCheckBoxPcd.isSelected()) {\r
1646 if (this.jComboBoxModuleType.getSelectedItem().toString().equals("DXE_DRIVER")) {\r
1647 this.jComboBoxPcdIsDriver.setText("DXE_PCD_DRIVER");\r
1648 this.jComboBoxPcdIsDriver.setEnabled(true);\r
1649 } else if (this.jComboBoxModuleType.getSelectedItem().toString().equals("PEIM")) {\r
1650 this.jComboBoxPcdIsDriver.setText("PEI_PCD_DRIVER");\r
1651 this.jComboBoxPcdIsDriver.setEnabled(true);\r
1652 }\r
1653 }\r
1654\r
1655 if ((this.ex == null) && this.jCheckBoxPcd.isSelected()) {\r
1656 this.ex = ExternsDocument.Externs.Factory.newInstance();\r
1657 this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getText()));\r
1658 this.msa.setExterns(this.ex);\r
1659 } else if ((this.ex != null) && (this.ex.getPcdIsDriver() == null) && this.jCheckBoxPcd.isSelected()) {\r
1660 this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getText()));\r
1661 this.msa.setExterns(this.ex);\r
1662 } else if ((this.ex != null) && (this.ex.getPcdIsDriver() != null)) {\r
1663 if (this.jCheckBoxPcd.isSelected()\r
1664 && !this.jComboBoxPcdIsDriver.getText().toString().equals(this.ex.getPcdIsDriver().toString())) {\r
1665 this.ex.setPcdIsDriver(PcdDriverTypes.Enum.forString(this.jComboBoxPcdIsDriver.getText()));\r
1666 this.msa.setExterns(this.ex);\r
1667 }\r
1668 if (!this.jCheckBoxPcd.isSelected()) {\r
1669 ExternsDocument.Externs newEx = ExternsDocument.Externs.Factory.newInstance();\r
1670 if (this.ex.getExternList() != null) {\r
1671 for (int index = 0; index < this.ex.getExternList().size(); index++) {\r
1672 newEx.addNewExtern();\r
1673 newEx.setExternArray(index, this.ex.getExternArray(index));\r
1674 }\r
1675 }\r
1676 if (this.ex.getSpecificationList() != null) {\r
1677 for (int index = 0; index < this.ex.getSpecificationList().size(); index++) {\r
1678 newEx.addNewSpecification();\r
1679 newEx.setSpecificationArray(index, this.ex.getSpecificationArray(index));\r
1680 }\r
1681 }\r
1682 if (this.ex.getTianoR8FlashMapH()) {\r
1683 newEx.setTianoR8FlashMapH(this.ex.getTianoR8FlashMapH());\r
1684 }\r
1685 this.ex = newEx;\r
1686 this.msa.setExterns(this.ex);\r
1687 }\r
1688 }\r
1689 this.save();\r
1690 }\r
1691 }\r
a13899c5 1692}\r