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