]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/MsaHeader.java
Fixed a spelling error and changed the Package Headers Tab title to be Package Header...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / module / ui / MsaHeader.java
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
21\r
22import javax.swing.JButton;\r
23import javax.swing.JComboBox;\r
24import javax.swing.JLabel;\r
25import javax.swing.JPanel;\r
26import javax.swing.JScrollPane;\r
27import javax.swing.JTextArea;\r
28import javax.swing.JTextField;\r
29\r
9a8d6d9f 30import org.tianocore.ModuleDefinitionsDocument;\r
a13899c5 31import org.tianocore.ModuleSurfaceAreaDocument;\r
32import org.tianocore.ModuleTypeDef;\r
33import org.tianocore.MsaHeaderDocument;\r
34import org.tianocore.LicenseDocument.License;\r
35import org.tianocore.frameworkwizard.common.DataType;\r
36import org.tianocore.frameworkwizard.common.DataValidation;\r
37import org.tianocore.frameworkwizard.common.EnumerationData;\r
38import org.tianocore.frameworkwizard.common.Log;\r
a13899c5 39import org.tianocore.frameworkwizard.common.Tools;\r
79cb6fdb 40import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleType;\r
a13899c5 41import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
42import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
43\r
44/**\r
45 The class is used to create, update MsaHeader of MSA file\r
46 It extends IInternalFrame\r
47 \r
48\r
49\r
50 **/\r
51public class MsaHeader extends IInternalFrame {\r
52\r
53 ///\r
54 /// Define class Serial Version UID\r
55 ///\r
56 private static final long serialVersionUID = -8152099582923006900L;\r
57\r
58 //\r
59 //Define class members\r
60 //\r
61 private JPanel jContentPane = null;\r
62\r
63 private JLabel jLabelBaseName = null;\r
64\r
65 private JTextField jTextFieldBaseName = null;\r
66\r
67 private JLabel jLabelGuid = null;\r
68\r
69 private JTextField jTextFieldGuid = null;\r
70\r
71 private JLabel jLabelVersion = null;\r
72\r
73 private JTextField jTextFieldVersion = null;\r
74\r
75 private JButton jButtonGenerateGuid = null;\r
76\r
77 private JLabel jLabelLicense = null;\r
78\r
79 private JTextArea jTextAreaLicense = null;\r
80\r
81 private JLabel jLabelCopyright = null;\r
82\r
83 private JLabel jLabelDescription = null;\r
84\r
85 private JTextArea jTextAreaDescription = null;\r
86\r
87 private JLabel jLabelSpecification = null;\r
88\r
89 private JTextField jTextFieldSpecification = null;\r
90\r
91 private JButton jButtonOk = null;\r
92\r
93 private JButton jButtonCancel = null;\r
94\r
95 private JScrollPane jScrollPaneLicense = null;\r
96\r
97 private JScrollPane jScrollPaneDescription = null;\r
98\r
99 private JLabel jLabelAbstract = null;\r
100\r
101 private JTextField jTextFieldAbstract = null;\r
102\r
103 private JLabel jLabelModuleType = null;\r
104\r
105 private JComboBox jComboBoxModuleType = null;\r
106\r
107 private StarLabel jStarLabel1 = null;\r
108\r
109 private StarLabel jStarLabel2 = null;\r
110\r
111 private StarLabel jStarLabel4 = null;\r
112\r
113 private StarLabel jStarLabel5 = null;\r
114\r
115 private StarLabel jStarLabel6 = null;\r
116\r
117 private StarLabel jStarLabel7 = null;\r
118\r
119 private StarLabel jStarLabel8 = null;\r
120\r
121 private StarLabel jStarLabel10 = null;\r
122\r
123 private StarLabel jStarLabel12 = null;\r
124\r
125 private MsaHeaderDocument.MsaHeader msaHeader = null;\r
126\r
127 private ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
128\r
129 private JTextField jTextFieldCopyright = null;\r
130\r
131 private JLabel jLabelURL = null;\r
132\r
133 private JTextField jTextFieldURL = null;\r
134\r
135 private JScrollPane jScrollPane = null;\r
136\r
137 private OpeningModuleType omt = null;\r
9a8d6d9f 138 \r
139 private EnumerationData ed = new EnumerationData();\r
a13899c5 140\r
141 /**\r
142 This method initializes jTextFieldBaseName \r
143 \r
144 @return javax.swing.JTextField jTextFieldBaseName\r
145 \r
146 **/\r
147 private JTextField getJTextFieldBaseName() {\r
148 if (jTextFieldBaseName == null) {\r
149 jTextFieldBaseName = new JTextField();\r
150 jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
151 jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320, 20));\r
152 jTextFieldBaseName.addFocusListener(this);\r
153 jTextFieldBaseName.setToolTipText("An brief Identifier, such as USB I/O Library, of the module");\r
154 }\r
155 return jTextFieldBaseName;\r
156 }\r
157\r
158 /**\r
159 This method initializes jTextFieldGuid \r
160 \r
161 @return javax.swing.JTextField jTextFieldGuid\r
162 \r
163 **/\r
164 private JTextField getJTextFieldGuid() {\r
165 if (jTextFieldGuid == null) {\r
166 jTextFieldGuid = new JTextField();\r
167 jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250, 20));\r
168 jTextFieldGuid.setLocation(new java.awt.Point(160, 60));\r
169 jTextFieldGuid.setSize(new java.awt.Dimension(250, 20));\r
170 jTextFieldGuid.addFocusListener(this);\r
171 jTextFieldGuid.setToolTipText("Guaranteed Unique Identification Number (8-4-4-4-12)");\r
172 }\r
173 return jTextFieldGuid;\r
174 }\r
175\r
176 /**\r
177 This method initializes jTextFieldVersion \r
178 \r
179 @return javax.swing.JTextField jTextFieldVersion\r
180 \r
181 **/\r
182 private JTextField getJTextFieldVersion() {\r
183 if (jTextFieldVersion == null) {\r
184 jTextFieldVersion = new JTextField();\r
185 jTextFieldVersion.setPreferredSize(new java.awt.Dimension(320, 20));\r
186 jTextFieldVersion.setLocation(new java.awt.Point(160, 85));\r
187 jTextFieldVersion.setSize(new java.awt.Dimension(320, 20));\r
188 jTextFieldVersion.addFocusListener(this);\r
189 jTextFieldVersion.setToolTipText("A Version Number, 1.0, 1, 1.01");\r
190 }\r
191 return jTextFieldVersion;\r
192 }\r
193\r
194 /**\r
195 This method initializes jButtonGenerateGuid \r
196 \r
197 @return javax.swing.JButton jButtonGenerateGuid\r
198 \r
199 **/\r
200 private JButton getJButtonGenerateGuid() {\r
201 if (jButtonGenerateGuid == null) {\r
202 jButtonGenerateGuid = new JButton();\r
203 jButtonGenerateGuid.setPreferredSize(new java.awt.Dimension(65, 20));\r
204 jButtonGenerateGuid.setSize(new java.awt.Dimension(65, 20));\r
205 jButtonGenerateGuid.setLocation(new java.awt.Point(415, 60));\r
206 jButtonGenerateGuid.setText("GEN");\r
207 jButtonGenerateGuid.addActionListener(this);\r
208 }\r
209 return jButtonGenerateGuid;\r
210 }\r
211\r
212 /**\r
213 This method initializes jTextAreaLicense \r
214 \r
215 @return javax.swing.JTextArea jTextAreaLicense\r
216 \r
217 **/\r
218 private JTextArea getJTextAreaLicense() {\r
219 if (jTextAreaLicense == null) {\r
220 jTextAreaLicense = new JTextArea();\r
221 jTextAreaLicense.setText("");\r
222 jTextAreaLicense.setLineWrap(true);\r
223 jTextAreaLicense.addFocusListener(this);\r
224 jTextAreaLicense.setToolTipText("The License for this file");\r
225 }\r
226 return jTextAreaLicense;\r
227 }\r
228\r
229 /**\r
230 This method initializes jTextAreaDescription \r
231 \r
232 @return javax.swing.JTextArea jTextAreaDescription\r
233 \r
234 **/\r
235 private JTextArea getJTextAreaDescription() {\r
236 if (jTextAreaDescription == null) {\r
237 jTextAreaDescription = new JTextArea();\r
238 jTextAreaDescription.setLineWrap(true);\r
239 jTextAreaDescription.addFocusListener(this);\r
240 jTextAreaDescription.setToolTipText("A verbose description of the module");\r
9a8d6d9f 241 jTextAreaDescription.setSelectionStart(0);\r
242 jTextAreaDescription.setSelectionEnd(0);\r
a13899c5 243 }\r
244 return jTextAreaDescription;\r
245 }\r
246\r
247 /**\r
248 This method initializes jTextFieldSpecification \r
249 \r
250 @return javax.swing.JTextField jTextFieldSpecification\r
251 \r
252 **/\r
253 private JTextField getJTextFieldSpecification() {\r
254 if (jTextFieldSpecification == null) {\r
255 jTextFieldSpecification = new JTextField();\r
256 jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(320, 20));\r
c06e8657 257 jTextFieldSpecification.setText("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052");\r
a13899c5 258 jTextFieldSpecification.setSize(new java.awt.Dimension(320, 20));\r
259 jTextFieldSpecification.setLocation(new java.awt.Point(160, 435));\r
260 jTextFieldSpecification.setEditable(false);\r
261 jTextFieldSpecification.addFocusListener(this);\r
a13899c5 262 }\r
263 return jTextFieldSpecification;\r
264 }\r
265\r
266 /**\r
267 This method initializes jButtonOk \r
268 \r
269 @return javax.swing.JButton jButtonOk\r
270 \r
271 **/\r
272 private JButton getJButtonOk() {\r
273 if (jButtonOk == null) {\r
274 jButtonOk = new JButton();\r
275 jButtonOk.setText("OK");\r
276 jButtonOk.setPreferredSize(new java.awt.Dimension(90, 20));\r
277 jButtonOk.setBounds(new java.awt.Rectangle(390, 455, 90, 20));\r
278 jButtonOk.addActionListener(this);\r
279 jButtonOk.setVisible(false);\r
280 }\r
281 return jButtonOk;\r
282 }\r
283\r
284 /**\r
285 This method initializes jButtonCancel \r
286 \r
287 @return javax.swing.JButton jButtonCancel\r
288 \r
289 **/\r
290 private JButton getJButtonCancel() {\r
291 if (jButtonCancel == null) {\r
292 jButtonCancel = new JButton();\r
293 jButtonCancel.setText("Cancel");\r
294 jButtonCancel.setBounds(new java.awt.Rectangle(390, 445, 90, 20));\r
295 jButtonCancel.addActionListener(this);\r
296 jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));\r
297 jButtonCancel.setVisible(false);\r
298 }\r
299 return jButtonCancel;\r
300 }\r
301\r
302 /**\r
303 This method initializes jScrollPaneLicense \r
304 \r
305 @return javax.swing.JScrollPane jScrollPaneLicense\r
306 \r
307 **/\r
308 private JScrollPane getJScrollPaneLicense() {\r
309 if (jScrollPaneLicense == null) {\r
310 jScrollPaneLicense = new JScrollPane();\r
311 jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
312 jScrollPaneLicense.setSize(new java.awt.Dimension(320, 120));\r
313 jScrollPaneLicense.setLocation(new java.awt.Point(160, 285));\r
314 jScrollPaneLicense.setViewportView(getJTextAreaLicense());\r
315 jScrollPaneLicense.setPreferredSize(new java.awt.Dimension(320, 120));\r
316 }\r
317 return jScrollPaneLicense;\r
318 }\r
319\r
320 /**\r
321 This method initializes jScrollPaneDescription \r
322 \r
323 @return javax.swing.JScrollPane jScrollPaneDescription\r
324 \r
325 **/\r
326 private JScrollPane getJScrollPaneDescription() {\r
327 if (jScrollPaneDescription == null) {\r
328 jScrollPaneDescription = new JScrollPane();\r
329 jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
330 jScrollPaneDescription.setSize(new java.awt.Dimension(320, 120));\r
331 jScrollPaneDescription.setLocation(new java.awt.Point(160, 135));\r
332 jScrollPaneDescription.setViewportView(getJTextAreaDescription());\r
333 jScrollPaneDescription.setPreferredSize(new java.awt.Dimension(320, 120));\r
334 }\r
335 return jScrollPaneDescription;\r
336 }\r
337\r
338 /**\r
339 This method initializes jTextFieldAbstract \r
340 \r
341 @return javax.swing.JTextField jTextFieldAbstract\r
342 \r
343 **/\r
344 private JTextField getJTextFieldAbstract() {\r
345 if (jTextFieldAbstract == null) {\r
346 jTextFieldAbstract = new JTextField();\r
347 jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20));\r
348 jTextFieldAbstract.setLocation(new java.awt.Point(160, 110));\r
349 jTextFieldAbstract.setSize(new java.awt.Dimension(320, 20));\r
350 jTextFieldAbstract.addFocusListener(this);\r
351 jTextFieldAbstract.setToolTipText("A one sentence description of this module");\r
352 }\r
353 return jTextFieldAbstract;\r
354 }\r
355\r
356 /**\r
357 This method initializes jComboBoxModuleType \r
358 \r
359 @return javax.swing.JComboBox jComboBoxModuleType\r
360 \r
361 **/\r
362 private JComboBox getJComboBoxModuleType() {\r
363 if (jComboBoxModuleType == null) {\r
364 jComboBoxModuleType = new JComboBox();\r
365 jComboBoxModuleType.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
366 jComboBoxModuleType.setPreferredSize(new java.awt.Dimension(320, 20));\r
367 jComboBoxModuleType.addFocusListener(this);\r
368 }\r
369 return jComboBoxModuleType;\r
370 }\r
371\r
372 /**\r
373 This method initializes jTextFieldCopyright \r
374 \r
375 @return javax.swing.JTextField jTextFieldCopyright\r
376 \r
377 **/\r
378 private JTextField getJTextFieldCopyright() {\r
379 if (jTextFieldCopyright == null) {\r
380 jTextFieldCopyright = new JTextField();\r
381 jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320, 20));\r
382 jTextFieldCopyright.setLocation(new java.awt.Point(160, 260));\r
383 jTextFieldCopyright.setSize(new java.awt.Dimension(320, 20));\r
384 jTextFieldCopyright.addFocusListener(this);\r
385 jTextFieldCopyright.setToolTipText("One or more copyright lines");\r
386 }\r
387 return jTextFieldCopyright;\r
388 }\r
389\r
390 /**\r
391 * This method initializes jTextFieldURL \r
392 * \r
393 * @return javax.swing.JTextField \r
394 */\r
395 private JTextField getJTextFieldURL() {\r
396 if (jTextFieldURL == null) {\r
397 jTextFieldURL = new JTextField();\r
398 jTextFieldURL.setPreferredSize(new java.awt.Dimension(320, 20));\r
399 jTextFieldURL.setLocation(new java.awt.Point(160, 410));\r
400 jTextFieldURL.setSize(new java.awt.Dimension(320, 20));\r
401 jTextFieldURL.addFocusListener(this);\r
402 jTextFieldURL.setToolTipText("A URL for the latest version of the license");\r
403 }\r
404 return jTextFieldURL;\r
405 }\r
406\r
407 /**\r
408 * This method initializes jScrollPane \r
409 * \r
410 * @return javax.swing.JScrollPane \r
411 */\r
412 private JScrollPane getJScrollPane() {\r
413 if (jScrollPane == null) {\r
414 jScrollPane = new JScrollPane();\r
415 jScrollPane.setViewportView(getJContentPane());\r
416 }\r
417 return jScrollPane;\r
418 }\r
419\r
420 public static void main(String[] args) {\r
421\r
422 }\r
423\r
424 /**\r
425 This is the default constructor\r
426 \r
427 **/\r
428 public MsaHeader() {\r
429 super();\r
430 init();\r
431 this.setVisible(true);\r
432 }\r
433\r
434 /**\r
435 This is the override edit constructor\r
436 \r
437 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader\r
438 \r
439 **/\r
440 public MsaHeader(OpeningModuleType inMsa) {\r
441 super();\r
442 this.omt = inMsa;\r
443 this.msa = omt.getXmlMsa();\r
9a8d6d9f 444 \r
445 // \r
446 // Set module definitions default value\r
447 //\r
448 if (msa.getModuleDefinitions() == null) {\r
449 ModuleDefinitionsDocument.ModuleDefinitions md = ModuleDefinitionsDocument.ModuleDefinitions.Factory.newInstance();\r
450 md.setOutputFileBasename(msa.getMsaHeader().getModuleName());\r
451 md.setBinaryModule(false);\r
452 md.setSupportedArchitectures(ed.getVSupportedArchitectures());\r
453 msa.setModuleDefinitions(md);\r
454 }\r
a13899c5 455 init(msa.getMsaHeader());\r
456 this.setVisible(true);\r
457 this.setViewMode(false);\r
458 }\r
459\r
460 /**\r
461 Disable all components when the mode is view\r
462 \r
463 @param isView true - The view mode; false - The non-view mode\r
464 \r
465 **/\r
466 public void setViewMode(boolean isView) {\r
467 //this.jButtonOk.setVisible(false);\r
468 //this.jButtonCancel.setVisible(false);\r
469 if (isView) {\r
470 this.jTextFieldBaseName.setEnabled(!isView);\r
471 this.jTextFieldGuid.setEnabled(!isView);\r
472 this.jTextFieldVersion.setEnabled(!isView);\r
473 this.jTextAreaLicense.setEnabled(!isView);\r
474 this.jTextFieldCopyright.setEnabled(!isView);\r
475 this.jTextAreaDescription.setEnabled(!isView);\r
476 this.jTextFieldSpecification.setEnabled(!isView);\r
477 this.jTextFieldAbstract.setEnabled(!isView);\r
478 this.jComboBoxModuleType.setEnabled(!isView);\r
479 this.jButtonCancel.setEnabled(!isView);\r
480 this.jButtonGenerateGuid.setEnabled(!isView);\r
481 this.jButtonOk.setEnabled(!isView);\r
482 }\r
483 }\r
484\r
485 /**\r
486 This method initializes this\r
487 \r
488 **/\r
489 private void init() {\r
490 this.setSize(500, 515);\r
491 this.setPreferredSize(new java.awt.Dimension(490, 520));\r
492 this.setContentPane(getJScrollPane());\r
493 this.setTitle("Module Surface Area Header");\r
494 initFrame();\r
495 }\r
496\r
497 /**\r
498 This method initializes this\r
499 Fill values to all fields if these values are not empty\r
500 \r
501 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader\r
502 \r
503 **/\r
504 private void init(MsaHeaderDocument.MsaHeader inMsaHeader) {\r
505 init();\r
506 if (inMsaHeader != null) {\r
507 setMsaHeader(inMsaHeader);\r
508 if (this.msaHeader.getModuleName() != null) {\r
509 this.jTextFieldBaseName.setText(this.msaHeader.getModuleName());\r
510 }\r
511 if (this.msaHeader.getModuleType() != null) {\r
512 this.jComboBoxModuleType.setSelectedItem(this.msaHeader.getModuleType().toString());\r
513 }\r
514 if (this.msaHeader.getGuidValue() != null) {\r
515 this.jTextFieldGuid.setText(this.msaHeader.getGuidValue());\r
516 }\r
517 if (this.msaHeader.getVersion() != null) {\r
518 this.jTextFieldVersion.setText(this.msaHeader.getVersion());\r
519 }\r
520 if (this.msaHeader.getAbstract() != null) {\r
521 this.jTextFieldAbstract.setText(this.msaHeader.getAbstract());\r
522 }\r
523 if (this.msaHeader.getDescription() != null) {\r
524 this.jTextAreaDescription.setText(this.msaHeader.getDescription());\r
9a8d6d9f 525 jTextAreaDescription.setSelectionStart(0);\r
526 jTextAreaDescription.setSelectionEnd(0);\r
a13899c5 527 }\r
528 if (this.msaHeader.getCopyright() != null) {\r
529 this.jTextFieldCopyright.setText(this.msaHeader.getCopyright());\r
530 }\r
531 if (this.msaHeader.getLicense() != null) {\r
532 this.jTextAreaLicense.setText(this.msaHeader.getLicense().getStringValue());\r
9a8d6d9f 533 jTextAreaLicense.setSelectionStart(0);\r
534 jTextAreaLicense.setSelectionEnd(0);\r
a13899c5 535 }\r
536 if (this.msaHeader.getLicense() != null && this.msaHeader.getLicense().getURL() != null) {\r
537 this.jTextFieldURL.setText(this.msaHeader.getLicense().getURL());\r
538 }\r
539 if (this.msaHeader.getSpecification() != null) {\r
540 this.jTextFieldSpecification.setText(this.msaHeader.getSpecification());\r
541 }\r
542 }\r
543 }\r
544\r
545 /**\r
546 This method initializes jContentPane\r
547 \r
548 @return javax.swing.JPanel jContentPane\r
549 \r
550 **/\r
551 private JPanel getJContentPane() {\r
552 if (jContentPane == null) {\r
553\r
554 jLabelURL = new JLabel();\r
555 jLabelURL.setText("License URL");\r
556 jLabelURL.setLocation(new java.awt.Point(15, 410));\r
557 jLabelURL.setSize(new java.awt.Dimension(140, 20));\r
558 jLabelBaseName = new JLabel();\r
559 jLabelBaseName.setText("Module Name");\r
560 jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
561 jLabelModuleType = new JLabel();\r
562 jLabelModuleType.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
563 jLabelModuleType.setText("Module Type");\r
564 jLabelGuid = new JLabel();\r
565 jLabelGuid.setText("Guid Value");\r
566 jLabelGuid.setLocation(new java.awt.Point(15, 60));\r
567 jLabelGuid.setSize(new java.awt.Dimension(140, 20));\r
568 jLabelVersion = new JLabel();\r
569 jLabelVersion.setText("Version");\r
570 jLabelVersion.setLocation(new java.awt.Point(15, 85));\r
571 jLabelVersion.setSize(new java.awt.Dimension(140, 20));\r
572 jLabelAbstract = new JLabel();\r
573 jLabelAbstract.setText("Abstract");\r
574 jLabelAbstract.setLocation(new java.awt.Point(15, 110));\r
575 jLabelAbstract.setSize(new java.awt.Dimension(140, 20));\r
576 jLabelDescription = new JLabel();\r
577 jLabelDescription.setText("Description");\r
578 jLabelDescription.setLocation(new java.awt.Point(15, 135));\r
579 jLabelDescription.setSize(new java.awt.Dimension(140, 20));\r
580 jLabelCopyright = new JLabel();\r
581 jLabelCopyright.setText("Copyright");\r
582 jLabelCopyright.setLocation(new java.awt.Point(15, 260));\r
583 jLabelCopyright.setSize(new java.awt.Dimension(140, 20));\r
584 jLabelLicense = new JLabel();\r
585 jLabelLicense.setText("License");\r
586 jLabelLicense.setLocation(new java.awt.Point(15, 285));\r
587 jLabelLicense.setSize(new java.awt.Dimension(140, 20));\r
588 jLabelSpecification = new JLabel();\r
589 jLabelSpecification.setText("Specification");\r
590 jLabelSpecification.setLocation(new java.awt.Point(14, 435));\r
591 jLabelSpecification.setSize(new java.awt.Dimension(140, 20));\r
592\r
593 jContentPane = new JPanel();\r
594 jContentPane.setLayout(null);\r
595 jContentPane.setPreferredSize(new java.awt.Dimension(490, 470));\r
596\r
597 jContentPane.add(jLabelBaseName, null);\r
598 jContentPane.add(getJTextFieldBaseName(), null);\r
599 jContentPane.add(jLabelGuid, null);\r
600 jContentPane.add(getJTextFieldGuid(), null);\r
601 jContentPane.add(jLabelVersion, null);\r
602 jContentPane.add(getJTextFieldVersion(), null);\r
603 jContentPane.add(getJButtonGenerateGuid(), null);\r
604 jContentPane.add(jLabelLicense, null);\r
605 jContentPane.add(jLabelCopyright, null);\r
606 jContentPane.add(jLabelDescription, null);\r
607 jContentPane.add(jLabelSpecification, null);\r
608 jContentPane.add(getJTextFieldSpecification(), null);\r
609 jContentPane.add(getJButtonOk(), null);\r
610 jContentPane.add(getJButtonCancel(), null);\r
611 jContentPane.add(getJScrollPaneLicense(), null);\r
612 jContentPane.add(getJScrollPaneDescription(), null);\r
613 jContentPane.add(jLabelAbstract, null);\r
614 jContentPane.add(getJTextFieldAbstract(), null);\r
615 jContentPane.add(jLabelModuleType, null);\r
616 jContentPane.add(getJComboBoxModuleType(), null);\r
617 jContentPane.add(jLabelURL, null);\r
618 jContentPane.add(getJTextFieldURL(), null);\r
619 jContentPane.add(getJTextFieldCopyright(), null);\r
620 jStarLabel1 = new StarLabel();\r
621 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
622 jStarLabel2 = new StarLabel();\r
623 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
624 jStarLabel4 = new StarLabel();\r
625 jStarLabel4.setLocation(new java.awt.Point(0, 60));\r
626 jStarLabel5 = new StarLabel();\r
627 jStarLabel5.setLocation(new java.awt.Point(0, 85));\r
628 jStarLabel6 = new StarLabel();\r
629 jStarLabel6.setLocation(new java.awt.Point(0, 135));\r
630 jStarLabel7 = new StarLabel();\r
631 jStarLabel7.setLocation(new java.awt.Point(0, 260));\r
632 jStarLabel8 = new StarLabel();\r
633 jStarLabel8.setLocation(new java.awt.Point(0, 285));\r
634 jStarLabel10 = new StarLabel();\r
635 jStarLabel10.setLocation(new java.awt.Point(0, 110));\r
636 jStarLabel12 = new StarLabel();\r
637 jStarLabel12.setLocation(new java.awt.Point(0, 435));\r
638\r
639 jContentPane.add(jStarLabel1, null);\r
640 jContentPane.add(jStarLabel2, null);\r
641 jContentPane.add(jStarLabel4, null);\r
642 jContentPane.add(jStarLabel5, null);\r
643 jContentPane.add(jStarLabel6, null);\r
644 jContentPane.add(jStarLabel7, null);\r
645 jContentPane.add(jStarLabel8, null);\r
646 jContentPane.add(jStarLabel10, null);\r
647 jContentPane.add(jStarLabel12, null);\r
648 }\r
649 return jContentPane;\r
650 }\r
651\r
652 /* (non-Javadoc)\r
653 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
654 *\r
655 * Override actionPerformed to listen all actions\r
656 *\r
657 */\r
658 public void actionPerformed(ActionEvent arg0) {\r
659 if (arg0.getSource() == jButtonOk) {\r
660 if (this.check()) {\r
661 this.save();\r
662 } else {\r
663 return;\r
664 }\r
665 this.setEdited(true);\r
666 this.dispose();\r
667 }\r
668 if (arg0.getSource() == jButtonCancel) {\r
669 this.setEdited(false);\r
670 }\r
671 if (arg0.getSource() == jButtonGenerateGuid) {\r
672 jTextFieldGuid.setText(Tools.generateUuidString());\r
673 }\r
674 }\r
675\r
676 /**\r
677 Data validation for all fields\r
678 \r
679 @retval true - All datas are valid\r
680 @retval false - At least one data is invalid\r
681 \r
682 **/\r
683 public boolean check() {\r
684 //\r
685 // Check if all required fields are not empty\r
686 // and check if all data fields values are valid\r
687 //\r
688\r
689 //\r
690 // Check Base Name\r
691 //\r
692 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
693 Log.err("Base Name couldn't be empty");\r
694 //this.jTextFieldBaseName.requestFocus();\r
695 return false;\r
696 }\r
697 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
698 Log.err("Incorrect data type for Base Name");\r
699 //this.jTextFieldBaseName.requestFocus();\r
700 return false;\r
701 }\r
702\r
703 //\r
704 // Check Guid\r
705 //\r
706 if (isEmpty(this.jTextFieldGuid.getText())) {\r
707 Log.err("Guid Value couldn't be empty");\r
708 //this.jTextFieldGuid.requestFocus();\r
709 return false;\r
710 }\r
711 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
712 Log.err("Incorrect data type for Guid");\r
713 //this.jTextFieldGuid.requestFocus();\r
714 return false;\r
715 }\r
716\r
717 //\r
718 // Check Version\r
719 //\r
720 if (isEmpty(this.jTextFieldVersion.getText())) {\r
721 Log.err("Version couldn't be empty");\r
722 //this.jTextFieldVersion.requestFocus();\r
723 return false;\r
724 }\r
725 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {\r
726 Log.err("Incorrect data type for Version");\r
727 //this.jTextFieldVersion.requestFocus();\r
728 return false;\r
729 }\r
730\r
731 //\r
732 // Check Abstact\r
733 //\r
734 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
735 Log.err("Abstract couldn't be empty");\r
736 //this.jTextFieldAbstract.requestFocus();\r
737 return false;\r
738 }\r
739 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
740 Log.err("Incorrect data type for Abstract");\r
741 //this.jTextFieldAbstract.requestFocus();\r
742 return false;\r
743 }\r
744\r
745 //\r
746 // Check Description\r
747 //\r
748 if (isEmpty(this.jTextAreaDescription.getText())) {\r
749 Log.err("Description couldn't be empty");\r
750 //this.jTextAreaDescription.requestFocus();\r
751 return false;\r
752 }\r
753\r
754 //\r
755 // Check Copyright\r
756 //\r
757 if (isEmpty(this.jTextFieldCopyright.getText())) {\r
758 Log.err("Copyright couldn't be empty");\r
759 //this.jTextFieldCopyright.requestFocus();\r
760 return false;\r
761 }\r
762\r
763 //\r
764 // Check License\r
765 //\r
766 if (isEmpty(this.jTextAreaLicense.getText())) {\r
767 Log.err("License couldn't be empty");\r
768 //this.jTextAreaLicense.requestFocus();\r
769 return false;\r
770 }\r
771\r
772 //\r
773 // Check Specification\r
774 //\r
775 if (isEmpty(this.jTextFieldSpecification.getText())) {\r
776 Log.err("Specification couldn't be empty");\r
777 //this.jTextFieldSpecification.requestFocus();\r
778 return false;\r
779 }\r
780 if (!DataValidation.isSpecification(this.jTextFieldSpecification.getText())) {\r
781 Log.err("Incorrect data type for Specification");\r
782 //this.jTextFieldSpecification.requestFocus();\r
783 return false;\r
784 }\r
785\r
786 return true;\r
787 }\r
788\r
789 /**\r
790 Save all components of Msa Header\r
791 if exists msaHeader, set the value directly\r
792 if not exists msaHeader, new an instance first\r
793 \r
794 **/\r
795 public void save() {\r
796 try {\r
797 // this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());\r
798 // this.msaHeader.setModuleType(ModuleTypeDef.Enum.forString(this.jComboBoxModuleType.getSelectedItem()\r
799 // .toString()));\r
800 // this.msaHeader.setGuidValue(this.jTextFieldGuid.getText());\r
801 // this.msaHeader.setVersion(this.jTextFieldVersion.getText());\r
802 // this.msaHeader.setAbstract(this.jTextFieldAbstract.getText());\r
803 // this.msaHeader.setDescription(this.jTextAreaDescription.getText());\r
804 // this.msaHeader.setCopyright(this.jTextFieldCopyright.getText());\r
805 // if (this.msaHeader.getLicense() != null) {\r
806 // this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());\r
807 // } else {\r
808 // License mLicense = License.Factory.newInstance();\r
809 // mLicense.setStringValue(this.jTextAreaLicense.getText());\r
810 // this.msaHeader.setLicense(mLicense);\r
811 // }\r
812 // if (!isEmpty(this.jTextFieldURL.getText())) {\r
813 // this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());\r
814 // }\r
815 // this.msaHeader.setSpecification(this.jTextFieldSpecification.getText());\r
816\r
55a2762d 817 msaHeader.setSpecification(this.jTextFieldSpecification.getText());\r
9a8d6d9f 818 msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString()));\r
a13899c5 819 msa.setMsaHeader(msaHeader);\r
820 this.omt.setSaved(false);\r
821 } catch (Exception e) {\r
822 Log.err("Save Module", e.getMessage());\r
823 }\r
824 }\r
825\r
826 /**\r
827 This method initializes Module type and Compontent type\r
828 \r
829 **/\r
830 private void initFrame() {\r
831 EnumerationData ed = new EnumerationData();\r
832 Tools.generateComboBoxByVector(jComboBoxModuleType, ed.getVModuleType());\r
833 }\r
834\r
835 /**\r
836 Get MsaHeaderDocument.MsaHeader\r
837 \r
838 @return MsaHeaderDocument.MsaHeader\r
839 \r
840 **/\r
841 public MsaHeaderDocument.MsaHeader getMsaHeader() {\r
842 return msaHeader;\r
843 }\r
844\r
845 /**\r
846 Set MsaHeaderDocument.MsaHeader\r
847 \r
848 @param msaHeader The input data of MsaHeaderDocument.MsaHeader\r
849 \r
850 **/\r
851 public void setMsaHeader(MsaHeaderDocument.MsaHeader msaHeader) {\r
852 this.msaHeader = msaHeader;\r
853 }\r
854\r
855 /* (non-Javadoc)\r
856 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
857 * \r
858 * Override componentResized to resize all components when frame's size is changed\r
859 */\r
860 public void componentResized(ComponentEvent arg0) {\r
861 int intCurrentWidth = this.getJContentPane().getWidth();\r
862 int intPreferredWidth = this.getJContentPane().getPreferredSize().width;\r
863\r
864 resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth, intPreferredWidth);\r
865 resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth, intPreferredWidth);\r
866 resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth, intPreferredWidth);\r
867 resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth, intPreferredWidth);\r
868 resizeComponentWidth(this.jTextFieldURL, intCurrentWidth, intPreferredWidth);\r
869 resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth, intPreferredWidth);\r
870 resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth, intPreferredWidth);\r
871 resizeComponentWidth(this.jTextFieldSpecification, intCurrentWidth, intPreferredWidth);\r
872 resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth, intPreferredWidth);\r
873 resizeComponentWidth(this.jComboBoxModuleType, intCurrentWidth, intPreferredWidth);\r
874 relocateComponentX(this.jButtonGenerateGuid, intCurrentWidth, intPreferredWidth,\r
875 DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);\r
876 }\r
877\r
878 public void focusLost(FocusEvent arg0) {\r
879 if (this.msaHeader == null) {\r
880 msaHeader = MsaHeaderDocument.MsaHeader.Factory.newInstance();\r
881 }\r
882 \r
883 //\r
884 // Check BaseName\r
885 //\r
886 if (arg0.getSource() == this.jTextFieldBaseName) {\r
887 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
888 Log.err("Base Name couldn't be empty");\r
889 //this.jTextFieldBaseName.requestFocus();\r
890 return;\r
891 }\r
892 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
893 Log.err("Incorrect data type for Base Name");\r
894 //this.jTextFieldBaseName.requestFocus();\r
895 return;\r
896 }\r
897 this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());\r
898 }\r
899\r
900 //\r
901 // Check Module Type\r
902 //\r
903 if (arg0.getSource() == this.jComboBoxModuleType) {\r
9a8d6d9f 904 //msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString()));\r
a13899c5 905 }\r
906\r
907 //\r
908 // Check Guid\r
909 //\r
910 if (arg0.getSource() == this.jTextFieldGuid) {\r
911 if (isEmpty(this.jTextFieldGuid.getText())) {\r
912 Log.err("Guid Value couldn't be empty");\r
913 //this.jTextFieldGuid.requestFocus();\r
914 return;\r
915 }\r
916 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
917 Log.err("Incorrect data type for Guid");\r
918 //this.jTextFieldGuid.requestFocus();\r
919 return;\r
920 }\r
921 this.msaHeader.setGuidValue(jTextFieldGuid.getText());\r
922 }\r
923\r
924 //\r
925 // Check Version\r
926 //\r
927 if (arg0.getSource() == this.jTextFieldVersion) {\r
928\r
929 if (isEmpty(this.jTextFieldVersion.getText())) {\r
930 Log.err("Version couldn't be empty");\r
931 //this.jTextFieldVersion.requestFocus();\r
932 return;\r
933 }\r
934 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {\r
935 Log.err("Incorrect data type for Version");\r
936 //this.jTextFieldVersion.requestFocus();\r
937 return;\r
938 }\r
939 this.msaHeader.setVersion(this.jTextFieldVersion.getText());\r
940 }\r
941\r
942 //\r
943 // Check Abstact\r
944 //\r
945 if (arg0.getSource() == this.jTextFieldAbstract) {\r
946 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
947 Log.err("Abstract couldn't be empty");\r
948 //this.jTextFieldAbstract.requestFocus();\r
949 return;\r
950 }\r
951 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
952 Log.err("Incorrect data type for Abstract");\r
953 //this.jTextFieldAbstract.requestFocus();\r
954 return;\r
955 }\r
956 this.msaHeader.setAbstract(this.jTextFieldAbstract.getText());\r
957 }\r
958\r
959 //\r
960 // Check Description\r
961 //\r
962 if (arg0.getSource() == this.jTextAreaDescription) {\r
963 if (isEmpty(this.jTextAreaDescription.getText())) {\r
964 Log.err("Description couldn't be empty");\r
965 //this.jTextAreaDescription.requestFocus();\r
966 return;\r
967 }\r
968 this.msaHeader.setDescription(this.jTextAreaDescription.getText());\r
969 }\r
970\r
971 //\r
972 // Check Copyright\r
973 //\r
974 if (arg0.getSource() == this.jTextFieldCopyright) {\r
975 if (isEmpty(this.jTextFieldCopyright.getText())) {\r
976 Log.err("Copyright couldn't be empty");\r
977 //this.jTextFieldCopyright.requestFocus();\r
978 return;\r
979 }\r
9a8d6d9f 980 this.msaHeader.setCopyright(this.jTextFieldCopyright.getText());\r
a13899c5 981 }\r
982\r
983 //\r
984 // Check License\r
985 //\r
986 if (arg0.getSource() == this.jTextAreaLicense) {\r
987 if (isEmpty(this.jTextAreaLicense.getText())) {\r
988 Log.err("License couldn't be empty");\r
989 //this.jTextAreaLicense.requestFocus();\r
990 return;\r
991 }\r
992 if (this.msaHeader.getLicense() != null) {\r
993 this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());\r
994 } else {\r
995 License mLicense = License.Factory.newInstance();\r
996 mLicense.setStringValue(this.jTextAreaLicense.getText());\r
997 this.msaHeader.setLicense(mLicense);\r
998 }\r
999 }\r
1000\r
1001 //\r
1002 // Check License URL\r
1003 //\r
1004 if (arg0.getSource() == this.jTextFieldURL) {\r
1005 if (!isEmpty(this.jTextFieldURL.getText())) {\r
1006 if (this.msaHeader.getLicense() == null) {\r
1007 License mLicense = License.Factory.newInstance();\r
1008 mLicense.setURL(this.jTextFieldURL.getText());\r
1009 this.msaHeader.setLicense(mLicense);\r
1010 } else {\r
1011 this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());\r
1012 }\r
1013 }\r
1014 }\r
1015\r
1016 this.save();\r
1017 }\r
1018}\r