]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/module/ui/MsaHeader.java
1. Wrap text by word when showing a message box
[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
2003a22e 138\r
9a8d6d9f 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
2003a22e 224 jTextAreaLicense.setWrapStyleWord(true);\r
225 jTextAreaLicense.setSelectionStart(0);\r
226 jTextAreaLicense.setSelectionEnd(0);\r
a13899c5 227 jTextAreaLicense.setToolTipText("The License for this file");\r
228 }\r
229 return jTextAreaLicense;\r
230 }\r
231\r
232 /**\r
233 This method initializes jTextAreaDescription \r
234 \r
235 @return javax.swing.JTextArea jTextAreaDescription\r
236 \r
237 **/\r
238 private JTextArea getJTextAreaDescription() {\r
239 if (jTextAreaDescription == null) {\r
240 jTextAreaDescription = new JTextArea();\r
241 jTextAreaDescription.setLineWrap(true);\r
242 jTextAreaDescription.addFocusListener(this);\r
243 jTextAreaDescription.setToolTipText("A verbose description of the module");\r
2003a22e 244 jTextAreaDescription.setWrapStyleWord(true);\r
9a8d6d9f 245 jTextAreaDescription.setSelectionStart(0);\r
246 jTextAreaDescription.setSelectionEnd(0);\r
a13899c5 247 }\r
248 return jTextAreaDescription;\r
249 }\r
250\r
251 /**\r
252 This method initializes jTextFieldSpecification \r
253 \r
254 @return javax.swing.JTextField jTextFieldSpecification\r
255 \r
256 **/\r
257 private JTextField getJTextFieldSpecification() {\r
258 if (jTextFieldSpecification == null) {\r
259 jTextFieldSpecification = new JTextField();\r
260 jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(320, 20));\r
c06e8657 261 jTextFieldSpecification.setText("FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052");\r
a13899c5 262 jTextFieldSpecification.setSize(new java.awt.Dimension(320, 20));\r
263 jTextFieldSpecification.setLocation(new java.awt.Point(160, 435));\r
264 jTextFieldSpecification.setEditable(false);\r
265 jTextFieldSpecification.addFocusListener(this);\r
a13899c5 266 }\r
267 return jTextFieldSpecification;\r
268 }\r
269\r
270 /**\r
271 This method initializes jButtonOk \r
272 \r
273 @return javax.swing.JButton jButtonOk\r
274 \r
275 **/\r
276 private JButton getJButtonOk() {\r
277 if (jButtonOk == null) {\r
278 jButtonOk = new JButton();\r
279 jButtonOk.setText("OK");\r
280 jButtonOk.setPreferredSize(new java.awt.Dimension(90, 20));\r
281 jButtonOk.setBounds(new java.awt.Rectangle(390, 455, 90, 20));\r
282 jButtonOk.addActionListener(this);\r
283 jButtonOk.setVisible(false);\r
284 }\r
285 return jButtonOk;\r
286 }\r
287\r
288 /**\r
289 This method initializes jButtonCancel \r
290 \r
291 @return javax.swing.JButton jButtonCancel\r
292 \r
293 **/\r
294 private JButton getJButtonCancel() {\r
295 if (jButtonCancel == null) {\r
296 jButtonCancel = new JButton();\r
297 jButtonCancel.setText("Cancel");\r
298 jButtonCancel.setBounds(new java.awt.Rectangle(390, 445, 90, 20));\r
299 jButtonCancel.addActionListener(this);\r
300 jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));\r
301 jButtonCancel.setVisible(false);\r
302 }\r
303 return jButtonCancel;\r
304 }\r
305\r
306 /**\r
307 This method initializes jScrollPaneLicense \r
308 \r
309 @return javax.swing.JScrollPane jScrollPaneLicense\r
310 \r
311 **/\r
312 private JScrollPane getJScrollPaneLicense() {\r
313 if (jScrollPaneLicense == null) {\r
314 jScrollPaneLicense = new JScrollPane();\r
315 jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
316 jScrollPaneLicense.setSize(new java.awt.Dimension(320, 120));\r
317 jScrollPaneLicense.setLocation(new java.awt.Point(160, 285));\r
318 jScrollPaneLicense.setViewportView(getJTextAreaLicense());\r
319 jScrollPaneLicense.setPreferredSize(new java.awt.Dimension(320, 120));\r
320 }\r
321 return jScrollPaneLicense;\r
322 }\r
323\r
324 /**\r
325 This method initializes jScrollPaneDescription \r
326 \r
327 @return javax.swing.JScrollPane jScrollPaneDescription\r
328 \r
329 **/\r
330 private JScrollPane getJScrollPaneDescription() {\r
331 if (jScrollPaneDescription == null) {\r
332 jScrollPaneDescription = new JScrollPane();\r
333 jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
334 jScrollPaneDescription.setSize(new java.awt.Dimension(320, 120));\r
335 jScrollPaneDescription.setLocation(new java.awt.Point(160, 135));\r
336 jScrollPaneDescription.setViewportView(getJTextAreaDescription());\r
337 jScrollPaneDescription.setPreferredSize(new java.awt.Dimension(320, 120));\r
338 }\r
339 return jScrollPaneDescription;\r
340 }\r
341\r
342 /**\r
343 This method initializes jTextFieldAbstract \r
344 \r
345 @return javax.swing.JTextField jTextFieldAbstract\r
346 \r
347 **/\r
348 private JTextField getJTextFieldAbstract() {\r
349 if (jTextFieldAbstract == null) {\r
350 jTextFieldAbstract = new JTextField();\r
351 jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20));\r
352 jTextFieldAbstract.setLocation(new java.awt.Point(160, 110));\r
353 jTextFieldAbstract.setSize(new java.awt.Dimension(320, 20));\r
354 jTextFieldAbstract.addFocusListener(this);\r
355 jTextFieldAbstract.setToolTipText("A one sentence description of this module");\r
356 }\r
357 return jTextFieldAbstract;\r
358 }\r
359\r
360 /**\r
361 This method initializes jComboBoxModuleType \r
362 \r
363 @return javax.swing.JComboBox jComboBoxModuleType\r
364 \r
365 **/\r
366 private JComboBox getJComboBoxModuleType() {\r
367 if (jComboBoxModuleType == null) {\r
368 jComboBoxModuleType = new JComboBox();\r
369 jComboBoxModuleType.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
370 jComboBoxModuleType.setPreferredSize(new java.awt.Dimension(320, 20));\r
371 jComboBoxModuleType.addFocusListener(this);\r
372 }\r
373 return jComboBoxModuleType;\r
374 }\r
375\r
376 /**\r
377 This method initializes jTextFieldCopyright \r
378 \r
379 @return javax.swing.JTextField jTextFieldCopyright\r
380 \r
381 **/\r
382 private JTextField getJTextFieldCopyright() {\r
383 if (jTextFieldCopyright == null) {\r
384 jTextFieldCopyright = new JTextField();\r
385 jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320, 20));\r
386 jTextFieldCopyright.setLocation(new java.awt.Point(160, 260));\r
387 jTextFieldCopyright.setSize(new java.awt.Dimension(320, 20));\r
388 jTextFieldCopyright.addFocusListener(this);\r
389 jTextFieldCopyright.setToolTipText("One or more copyright lines");\r
390 }\r
391 return jTextFieldCopyright;\r
392 }\r
393\r
394 /**\r
395 * This method initializes jTextFieldURL \r
396 * \r
397 * @return javax.swing.JTextField \r
398 */\r
399 private JTextField getJTextFieldURL() {\r
400 if (jTextFieldURL == null) {\r
401 jTextFieldURL = new JTextField();\r
402 jTextFieldURL.setPreferredSize(new java.awt.Dimension(320, 20));\r
403 jTextFieldURL.setLocation(new java.awt.Point(160, 410));\r
404 jTextFieldURL.setSize(new java.awt.Dimension(320, 20));\r
405 jTextFieldURL.addFocusListener(this);\r
406 jTextFieldURL.setToolTipText("A URL for the latest version of the license");\r
407 }\r
408 return jTextFieldURL;\r
409 }\r
410\r
411 /**\r
412 * This method initializes jScrollPane \r
413 * \r
414 * @return javax.swing.JScrollPane \r
415 */\r
416 private JScrollPane getJScrollPane() {\r
417 if (jScrollPane == null) {\r
418 jScrollPane = new JScrollPane();\r
419 jScrollPane.setViewportView(getJContentPane());\r
420 }\r
421 return jScrollPane;\r
422 }\r
423\r
424 public static void main(String[] args) {\r
425\r
426 }\r
427\r
428 /**\r
429 This is the default constructor\r
430 \r
431 **/\r
432 public MsaHeader() {\r
433 super();\r
434 init();\r
435 this.setVisible(true);\r
436 }\r
437\r
438 /**\r
439 This is the override edit constructor\r
440 \r
441 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader\r
442 \r
443 **/\r
444 public MsaHeader(OpeningModuleType inMsa) {\r
445 super();\r
446 this.omt = inMsa;\r
447 this.msa = omt.getXmlMsa();\r
2003a22e 448\r
9a8d6d9f 449 // \r
450 // Set module definitions default value\r
451 //\r
452 if (msa.getModuleDefinitions() == null) {\r
2003a22e 453 ModuleDefinitionsDocument.ModuleDefinitions md = ModuleDefinitionsDocument.ModuleDefinitions.Factory\r
454 .newInstance();\r
9a8d6d9f 455 md.setOutputFileBasename(msa.getMsaHeader().getModuleName());\r
456 md.setBinaryModule(false);\r
457 md.setSupportedArchitectures(ed.getVSupportedArchitectures());\r
458 msa.setModuleDefinitions(md);\r
459 }\r
a13899c5 460 init(msa.getMsaHeader());\r
461 this.setVisible(true);\r
462 this.setViewMode(false);\r
463 }\r
464\r
465 /**\r
466 Disable all components when the mode is view\r
467 \r
468 @param isView true - The view mode; false - The non-view mode\r
469 \r
470 **/\r
471 public void setViewMode(boolean isView) {\r
472 //this.jButtonOk.setVisible(false);\r
473 //this.jButtonCancel.setVisible(false);\r
474 if (isView) {\r
475 this.jTextFieldBaseName.setEnabled(!isView);\r
476 this.jTextFieldGuid.setEnabled(!isView);\r
477 this.jTextFieldVersion.setEnabled(!isView);\r
478 this.jTextAreaLicense.setEnabled(!isView);\r
479 this.jTextFieldCopyright.setEnabled(!isView);\r
480 this.jTextAreaDescription.setEnabled(!isView);\r
481 this.jTextFieldSpecification.setEnabled(!isView);\r
482 this.jTextFieldAbstract.setEnabled(!isView);\r
483 this.jComboBoxModuleType.setEnabled(!isView);\r
484 this.jButtonCancel.setEnabled(!isView);\r
485 this.jButtonGenerateGuid.setEnabled(!isView);\r
486 this.jButtonOk.setEnabled(!isView);\r
487 }\r
488 }\r
489\r
490 /**\r
491 This method initializes this\r
492 \r
493 **/\r
494 private void init() {\r
495 this.setSize(500, 515);\r
496 this.setPreferredSize(new java.awt.Dimension(490, 520));\r
497 this.setContentPane(getJScrollPane());\r
498 this.setTitle("Module Surface Area Header");\r
499 initFrame();\r
500 }\r
501\r
502 /**\r
503 This method initializes this\r
504 Fill values to all fields if these values are not empty\r
505 \r
506 @param inMsaHeader The input data of MsaHeaderDocument.MsaHeader\r
507 \r
508 **/\r
509 private void init(MsaHeaderDocument.MsaHeader inMsaHeader) {\r
510 init();\r
511 if (inMsaHeader != null) {\r
512 setMsaHeader(inMsaHeader);\r
513 if (this.msaHeader.getModuleName() != null) {\r
514 this.jTextFieldBaseName.setText(this.msaHeader.getModuleName());\r
515 }\r
516 if (this.msaHeader.getModuleType() != null) {\r
517 this.jComboBoxModuleType.setSelectedItem(this.msaHeader.getModuleType().toString());\r
518 }\r
519 if (this.msaHeader.getGuidValue() != null) {\r
520 this.jTextFieldGuid.setText(this.msaHeader.getGuidValue());\r
521 }\r
522 if (this.msaHeader.getVersion() != null) {\r
523 this.jTextFieldVersion.setText(this.msaHeader.getVersion());\r
524 }\r
525 if (this.msaHeader.getAbstract() != null) {\r
526 this.jTextFieldAbstract.setText(this.msaHeader.getAbstract());\r
527 }\r
528 if (this.msaHeader.getDescription() != null) {\r
529 this.jTextAreaDescription.setText(this.msaHeader.getDescription());\r
9a8d6d9f 530 jTextAreaDescription.setSelectionStart(0);\r
531 jTextAreaDescription.setSelectionEnd(0);\r
a13899c5 532 }\r
533 if (this.msaHeader.getCopyright() != null) {\r
534 this.jTextFieldCopyright.setText(this.msaHeader.getCopyright());\r
535 }\r
536 if (this.msaHeader.getLicense() != null) {\r
537 this.jTextAreaLicense.setText(this.msaHeader.getLicense().getStringValue());\r
9a8d6d9f 538 jTextAreaLicense.setSelectionStart(0);\r
539 jTextAreaLicense.setSelectionEnd(0);\r
a13899c5 540 }\r
541 if (this.msaHeader.getLicense() != null && this.msaHeader.getLicense().getURL() != null) {\r
542 this.jTextFieldURL.setText(this.msaHeader.getLicense().getURL());\r
543 }\r
544 if (this.msaHeader.getSpecification() != null) {\r
545 this.jTextFieldSpecification.setText(this.msaHeader.getSpecification());\r
546 }\r
547 }\r
548 }\r
549\r
550 /**\r
551 This method initializes jContentPane\r
552 \r
553 @return javax.swing.JPanel jContentPane\r
554 \r
555 **/\r
556 private JPanel getJContentPane() {\r
557 if (jContentPane == null) {\r
558\r
559 jLabelURL = new JLabel();\r
560 jLabelURL.setText("License URL");\r
561 jLabelURL.setLocation(new java.awt.Point(15, 410));\r
562 jLabelURL.setSize(new java.awt.Dimension(140, 20));\r
563 jLabelBaseName = new JLabel();\r
564 jLabelBaseName.setText("Module Name");\r
565 jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
566 jLabelModuleType = new JLabel();\r
567 jLabelModuleType.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
568 jLabelModuleType.setText("Module Type");\r
569 jLabelGuid = new JLabel();\r
570 jLabelGuid.setText("Guid Value");\r
571 jLabelGuid.setLocation(new java.awt.Point(15, 60));\r
572 jLabelGuid.setSize(new java.awt.Dimension(140, 20));\r
573 jLabelVersion = new JLabel();\r
574 jLabelVersion.setText("Version");\r
575 jLabelVersion.setLocation(new java.awt.Point(15, 85));\r
576 jLabelVersion.setSize(new java.awt.Dimension(140, 20));\r
577 jLabelAbstract = new JLabel();\r
578 jLabelAbstract.setText("Abstract");\r
579 jLabelAbstract.setLocation(new java.awt.Point(15, 110));\r
580 jLabelAbstract.setSize(new java.awt.Dimension(140, 20));\r
581 jLabelDescription = new JLabel();\r
582 jLabelDescription.setText("Description");\r
583 jLabelDescription.setLocation(new java.awt.Point(15, 135));\r
584 jLabelDescription.setSize(new java.awt.Dimension(140, 20));\r
585 jLabelCopyright = new JLabel();\r
586 jLabelCopyright.setText("Copyright");\r
587 jLabelCopyright.setLocation(new java.awt.Point(15, 260));\r
588 jLabelCopyright.setSize(new java.awt.Dimension(140, 20));\r
589 jLabelLicense = new JLabel();\r
590 jLabelLicense.setText("License");\r
591 jLabelLicense.setLocation(new java.awt.Point(15, 285));\r
592 jLabelLicense.setSize(new java.awt.Dimension(140, 20));\r
593 jLabelSpecification = new JLabel();\r
594 jLabelSpecification.setText("Specification");\r
595 jLabelSpecification.setLocation(new java.awt.Point(14, 435));\r
596 jLabelSpecification.setSize(new java.awt.Dimension(140, 20));\r
597\r
598 jContentPane = new JPanel();\r
599 jContentPane.setLayout(null);\r
600 jContentPane.setPreferredSize(new java.awt.Dimension(490, 470));\r
601\r
602 jContentPane.add(jLabelBaseName, null);\r
603 jContentPane.add(getJTextFieldBaseName(), null);\r
604 jContentPane.add(jLabelGuid, null);\r
605 jContentPane.add(getJTextFieldGuid(), null);\r
606 jContentPane.add(jLabelVersion, null);\r
607 jContentPane.add(getJTextFieldVersion(), null);\r
608 jContentPane.add(getJButtonGenerateGuid(), null);\r
609 jContentPane.add(jLabelLicense, null);\r
610 jContentPane.add(jLabelCopyright, null);\r
611 jContentPane.add(jLabelDescription, null);\r
612 jContentPane.add(jLabelSpecification, null);\r
613 jContentPane.add(getJTextFieldSpecification(), null);\r
614 jContentPane.add(getJButtonOk(), null);\r
615 jContentPane.add(getJButtonCancel(), null);\r
616 jContentPane.add(getJScrollPaneLicense(), null);\r
617 jContentPane.add(getJScrollPaneDescription(), null);\r
618 jContentPane.add(jLabelAbstract, null);\r
619 jContentPane.add(getJTextFieldAbstract(), null);\r
620 jContentPane.add(jLabelModuleType, null);\r
621 jContentPane.add(getJComboBoxModuleType(), null);\r
622 jContentPane.add(jLabelURL, null);\r
623 jContentPane.add(getJTextFieldURL(), null);\r
624 jContentPane.add(getJTextFieldCopyright(), null);\r
625 jStarLabel1 = new StarLabel();\r
626 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
627 jStarLabel2 = new StarLabel();\r
628 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
629 jStarLabel4 = new StarLabel();\r
630 jStarLabel4.setLocation(new java.awt.Point(0, 60));\r
631 jStarLabel5 = new StarLabel();\r
632 jStarLabel5.setLocation(new java.awt.Point(0, 85));\r
633 jStarLabel6 = new StarLabel();\r
634 jStarLabel6.setLocation(new java.awt.Point(0, 135));\r
635 jStarLabel7 = new StarLabel();\r
636 jStarLabel7.setLocation(new java.awt.Point(0, 260));\r
637 jStarLabel8 = new StarLabel();\r
638 jStarLabel8.setLocation(new java.awt.Point(0, 285));\r
639 jStarLabel10 = new StarLabel();\r
640 jStarLabel10.setLocation(new java.awt.Point(0, 110));\r
641 jStarLabel12 = new StarLabel();\r
642 jStarLabel12.setLocation(new java.awt.Point(0, 435));\r
643\r
644 jContentPane.add(jStarLabel1, null);\r
645 jContentPane.add(jStarLabel2, null);\r
646 jContentPane.add(jStarLabel4, null);\r
647 jContentPane.add(jStarLabel5, null);\r
648 jContentPane.add(jStarLabel6, null);\r
649 jContentPane.add(jStarLabel7, null);\r
650 jContentPane.add(jStarLabel8, null);\r
651 jContentPane.add(jStarLabel10, null);\r
652 jContentPane.add(jStarLabel12, null);\r
653 }\r
654 return jContentPane;\r
655 }\r
656\r
657 /* (non-Javadoc)\r
658 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
659 *\r
660 * Override actionPerformed to listen all actions\r
661 *\r
662 */\r
663 public void actionPerformed(ActionEvent arg0) {\r
664 if (arg0.getSource() == jButtonOk) {\r
665 if (this.check()) {\r
666 this.save();\r
667 } else {\r
668 return;\r
669 }\r
670 this.setEdited(true);\r
671 this.dispose();\r
672 }\r
673 if (arg0.getSource() == jButtonCancel) {\r
674 this.setEdited(false);\r
675 }\r
676 if (arg0.getSource() == jButtonGenerateGuid) {\r
677 jTextFieldGuid.setText(Tools.generateUuidString());\r
678 }\r
679 }\r
680\r
681 /**\r
682 Data validation for all fields\r
683 \r
684 @retval true - All datas are valid\r
685 @retval false - At least one data is invalid\r
686 \r
687 **/\r
688 public boolean check() {\r
689 //\r
690 // Check if all required fields are not empty\r
691 // and check if all data fields values are valid\r
692 //\r
693\r
694 //\r
695 // Check Base Name\r
696 //\r
697 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
ed1665f2 698 Log.wrn("Update Msa Header", "Base Name couldn't be empty");\r
a13899c5 699 //this.jTextFieldBaseName.requestFocus();\r
700 return false;\r
701 }\r
702 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
ed1665f2 703 Log.wrn("Update Msa Header", "Incorrect data type for Base Name");\r
a13899c5 704 //this.jTextFieldBaseName.requestFocus();\r
705 return false;\r
706 }\r
707\r
708 //\r
709 // Check Guid\r
710 //\r
711 if (isEmpty(this.jTextFieldGuid.getText())) {\r
ed1665f2 712 Log.wrn("Update Msa Header", "Guid Value couldn't be empty");\r
a13899c5 713 //this.jTextFieldGuid.requestFocus();\r
714 return false;\r
715 }\r
716 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
ed1665f2 717 Log.wrn("Update Msa Header", "Incorrect data type for Guid");\r
a13899c5 718 //this.jTextFieldGuid.requestFocus();\r
719 return false;\r
720 }\r
721\r
722 //\r
723 // Check Version\r
724 //\r
725 if (isEmpty(this.jTextFieldVersion.getText())) {\r
ed1665f2 726 Log.wrn("Update Msa Header", "Version couldn't be empty");\r
a13899c5 727 //this.jTextFieldVersion.requestFocus();\r
728 return false;\r
729 }\r
730 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {\r
ed1665f2 731 Log.wrn("Update Msa Header", "Incorrect data type for Version");\r
a13899c5 732 //this.jTextFieldVersion.requestFocus();\r
733 return false;\r
734 }\r
735\r
736 //\r
737 // Check Abstact\r
738 //\r
739 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
ed1665f2 740 Log.wrn("Update Msa Header", "Abstract couldn't be empty");\r
a13899c5 741 //this.jTextFieldAbstract.requestFocus();\r
742 return false;\r
743 }\r
744 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
ed1665f2 745 Log.wrn("Update Msa Header", "Incorrect data type for Abstract");\r
a13899c5 746 //this.jTextFieldAbstract.requestFocus();\r
747 return false;\r
748 }\r
749\r
750 //\r
751 // Check Description\r
752 //\r
753 if (isEmpty(this.jTextAreaDescription.getText())) {\r
ed1665f2 754 Log.wrn("Update Msa Header", "Description couldn't be empty");\r
a13899c5 755 //this.jTextAreaDescription.requestFocus();\r
756 return false;\r
757 }\r
758\r
759 //\r
760 // Check Copyright\r
761 //\r
762 if (isEmpty(this.jTextFieldCopyright.getText())) {\r
ed1665f2 763 Log.wrn("Update Msa Header", "Copyright couldn't be empty");\r
a13899c5 764 //this.jTextFieldCopyright.requestFocus();\r
765 return false;\r
766 }\r
767\r
768 //\r
769 // Check License\r
770 //\r
771 if (isEmpty(this.jTextAreaLicense.getText())) {\r
ed1665f2 772 Log.wrn("Update Msa Header", "License couldn't be empty");\r
a13899c5 773 //this.jTextAreaLicense.requestFocus();\r
774 return false;\r
775 }\r
776\r
777 //\r
778 // Check Specification\r
779 //\r
780 if (isEmpty(this.jTextFieldSpecification.getText())) {\r
ed1665f2 781 Log.wrn("Update Msa Header", "Specification couldn't be empty");\r
a13899c5 782 //this.jTextFieldSpecification.requestFocus();\r
783 return false;\r
784 }\r
785 if (!DataValidation.isSpecification(this.jTextFieldSpecification.getText())) {\r
ed1665f2 786 Log.wrn("Update Msa Header", "Incorrect data type for Specification");\r
a13899c5 787 //this.jTextFieldSpecification.requestFocus();\r
788 return false;\r
789 }\r
790\r
791 return true;\r
792 }\r
793\r
794 /**\r
795 Save all components of Msa Header\r
796 if exists msaHeader, set the value directly\r
797 if not exists msaHeader, new an instance first\r
798 \r
799 **/\r
800 public void save() {\r
801 try {\r
802 // this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());\r
803 // this.msaHeader.setModuleType(ModuleTypeDef.Enum.forString(this.jComboBoxModuleType.getSelectedItem()\r
804 // .toString()));\r
805 // this.msaHeader.setGuidValue(this.jTextFieldGuid.getText());\r
806 // this.msaHeader.setVersion(this.jTextFieldVersion.getText());\r
807 // this.msaHeader.setAbstract(this.jTextFieldAbstract.getText());\r
808 // this.msaHeader.setDescription(this.jTextAreaDescription.getText());\r
809 // this.msaHeader.setCopyright(this.jTextFieldCopyright.getText());\r
810 // if (this.msaHeader.getLicense() != null) {\r
811 // this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());\r
812 // } else {\r
813 // License mLicense = License.Factory.newInstance();\r
814 // mLicense.setStringValue(this.jTextAreaLicense.getText());\r
815 // this.msaHeader.setLicense(mLicense);\r
816 // }\r
817 // if (!isEmpty(this.jTextFieldURL.getText())) {\r
818 // this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());\r
819 // }\r
820 // this.msaHeader.setSpecification(this.jTextFieldSpecification.getText());\r
821\r
55a2762d 822 msaHeader.setSpecification(this.jTextFieldSpecification.getText());\r
a13899c5 823 msa.setMsaHeader(msaHeader);\r
824 this.omt.setSaved(false);\r
825 } catch (Exception e) {\r
ed1665f2 826 Log.wrn("Save Module", e.getMessage());\r
a13899c5 827 Log.err("Save Module", e.getMessage());\r
828 }\r
829 }\r
830\r
831 /**\r
832 This method initializes Module type and Compontent type\r
833 \r
834 **/\r
835 private void initFrame() {\r
836 EnumerationData ed = new EnumerationData();\r
837 Tools.generateComboBoxByVector(jComboBoxModuleType, ed.getVModuleType());\r
838 }\r
839\r
840 /**\r
841 Get MsaHeaderDocument.MsaHeader\r
842 \r
843 @return MsaHeaderDocument.MsaHeader\r
844 \r
845 **/\r
846 public MsaHeaderDocument.MsaHeader getMsaHeader() {\r
847 return msaHeader;\r
848 }\r
849\r
850 /**\r
851 Set MsaHeaderDocument.MsaHeader\r
852 \r
853 @param msaHeader The input data of MsaHeaderDocument.MsaHeader\r
854 \r
855 **/\r
856 public void setMsaHeader(MsaHeaderDocument.MsaHeader msaHeader) {\r
857 this.msaHeader = msaHeader;\r
858 }\r
859\r
860 /* (non-Javadoc)\r
861 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
862 * \r
863 * Override componentResized to resize all components when frame's size is changed\r
864 */\r
865 public void componentResized(ComponentEvent arg0) {\r
866 int intCurrentWidth = this.getJContentPane().getWidth();\r
867 int intPreferredWidth = this.getJContentPane().getPreferredSize().width;\r
868\r
869 resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth, intPreferredWidth);\r
870 resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth, intPreferredWidth);\r
871 resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth, intPreferredWidth);\r
872 resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth, intPreferredWidth);\r
873 resizeComponentWidth(this.jTextFieldURL, intCurrentWidth, intPreferredWidth);\r
874 resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth, intPreferredWidth);\r
875 resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth, intPreferredWidth);\r
876 resizeComponentWidth(this.jTextFieldSpecification, intCurrentWidth, intPreferredWidth);\r
877 resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth, intPreferredWidth);\r
878 resizeComponentWidth(this.jComboBoxModuleType, intCurrentWidth, intPreferredWidth);\r
879 relocateComponentX(this.jButtonGenerateGuid, intCurrentWidth, intPreferredWidth,\r
880 DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);\r
881 }\r
882\r
883 public void focusLost(FocusEvent arg0) {\r
884 if (this.msaHeader == null) {\r
885 msaHeader = MsaHeaderDocument.MsaHeader.Factory.newInstance();\r
886 }\r
2003a22e 887\r
a13899c5 888 //\r
889 // Check BaseName\r
890 //\r
891 if (arg0.getSource() == this.jTextFieldBaseName) {\r
892 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
ed1665f2 893 Log.wrn("Update Msa Header", "Base Name couldn't be empty");\r
a13899c5 894 //this.jTextFieldBaseName.requestFocus();\r
895 return;\r
896 }\r
897 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
ed1665f2 898 Log.wrn("Update Msa Header", "Incorrect data type for Base Name");\r
a13899c5 899 //this.jTextFieldBaseName.requestFocus();\r
900 return;\r
901 }\r
2003a22e 902 if (!this.jTextFieldBaseName.getText().equals(msaHeader.getModuleName())) {\r
903 this.msaHeader.setModuleName(this.jTextFieldBaseName.getText());\r
904 } else {\r
905 return;\r
906 }\r
a13899c5 907 }\r
908\r
909 //\r
910 // Check Module Type\r
911 //\r
912 if (arg0.getSource() == this.jComboBoxModuleType) {\r
2003a22e 913 if (!jComboBoxModuleType.getSelectedItem().toString().equals(msaHeader.getModuleType().toString())) {\r
914 msaHeader.setModuleType(ModuleTypeDef.Enum.forString(jComboBoxModuleType.getSelectedItem().toString()));\r
915 } else {\r
916 return;\r
917 }\r
a13899c5 918 }\r
919\r
920 //\r
921 // Check Guid\r
922 //\r
923 if (arg0.getSource() == this.jTextFieldGuid) {\r
924 if (isEmpty(this.jTextFieldGuid.getText())) {\r
ed1665f2 925 Log.wrn("Update Msa Header", "Guid Value couldn't be empty");\r
a13899c5 926 //this.jTextFieldGuid.requestFocus();\r
927 return;\r
928 }\r
929 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
ed1665f2 930 Log.wrn("Update Msa Header", "Incorrect data type for Guid");\r
a13899c5 931 //this.jTextFieldGuid.requestFocus();\r
932 return;\r
933 }\r
2003a22e 934 if (!this.jTextFieldGuid.getText().equals(msaHeader.getGuidValue())) {\r
935 this.msaHeader.setGuidValue(this.jTextFieldGuid.getText());\r
936 } else {\r
937 return;\r
938 }\r
a13899c5 939 }\r
940\r
941 //\r
942 // Check Version\r
943 //\r
944 if (arg0.getSource() == this.jTextFieldVersion) {\r
a13899c5 945 if (isEmpty(this.jTextFieldVersion.getText())) {\r
ed1665f2 946 Log.wrn("Update Msa Header", "Version couldn't be empty");\r
a13899c5 947 //this.jTextFieldVersion.requestFocus();\r
948 return;\r
949 }\r
950 if (!DataValidation.isVersion(this.jTextFieldVersion.getText())) {\r
ed1665f2 951 Log.wrn("Update Msa Header", "Incorrect data type for Version");\r
a13899c5 952 //this.jTextFieldVersion.requestFocus();\r
953 return;\r
954 }\r
2003a22e 955 if (!this.jTextFieldVersion.getText().equals(msaHeader.getVersion())) {\r
956 this.msaHeader.setVersion(this.jTextFieldVersion.getText());\r
957 } else {\r
958 return;\r
959 }\r
a13899c5 960 }\r
961\r
962 //\r
963 // Check Abstact\r
964 //\r
965 if (arg0.getSource() == this.jTextFieldAbstract) {\r
966 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
ed1665f2 967 Log.wrn("Update Msa Header", "Abstract couldn't be empty");\r
a13899c5 968 //this.jTextFieldAbstract.requestFocus();\r
969 return;\r
970 }\r
971 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
ed1665f2 972 Log.wrn("Update Msa Header", "Incorrect data type for Abstract");\r
a13899c5 973 //this.jTextFieldAbstract.requestFocus();\r
974 return;\r
975 }\r
2003a22e 976 if (!this.jTextFieldAbstract.getText().equals(msaHeader.getAbstract())) {\r
977 this.msaHeader.setAbstract(this.jTextFieldAbstract.getText());\r
978 } else {\r
979 return;\r
980 }\r
a13899c5 981 }\r
982\r
983 //\r
984 // Check Description\r
985 //\r
986 if (arg0.getSource() == this.jTextAreaDescription) {\r
987 if (isEmpty(this.jTextAreaDescription.getText())) {\r
ed1665f2 988 Log.wrn("Update Msa Header", "Description couldn't be empty");\r
a13899c5 989 //this.jTextAreaDescription.requestFocus();\r
990 return;\r
991 }\r
2003a22e 992 if (!this.jTextAreaDescription.getText().equals(msaHeader.getDescription())) {\r
993 this.msaHeader.setDescription(this.jTextAreaDescription.getText());\r
994 } else {\r
995 return;\r
996 }\r
a13899c5 997 }\r
998\r
999 //\r
1000 // Check Copyright\r
1001 //\r
1002 if (arg0.getSource() == this.jTextFieldCopyright) {\r
1003 if (isEmpty(this.jTextFieldCopyright.getText())) {\r
ed1665f2 1004 Log.wrn("Update Msa Header", "Copyright couldn't be empty");\r
a13899c5 1005 //this.jTextFieldCopyright.requestFocus();\r
1006 return;\r
1007 }\r
2003a22e 1008 if (!this.jTextFieldCopyright.getText().equals(msaHeader.getCopyright())) {\r
1009 this.msaHeader.setCopyright(this.jTextFieldCopyright.getText());\r
1010 } else {\r
1011 return;\r
1012 }\r
a13899c5 1013 }\r
1014\r
1015 //\r
1016 // Check License\r
1017 //\r
1018 if (arg0.getSource() == this.jTextAreaLicense) {\r
1019 if (isEmpty(this.jTextAreaLicense.getText())) {\r
ed1665f2 1020 Log.wrn("Update Msa Header", "License couldn't be empty");\r
a13899c5 1021 //this.jTextAreaLicense.requestFocus();\r
1022 return;\r
1023 }\r
1024 if (this.msaHeader.getLicense() != null) {\r
2003a22e 1025 if (!this.jTextAreaLicense.getText().equals(msaHeader.getLicense().getStringValue())) {\r
1026 this.msaHeader.getLicense().setStringValue(this.jTextAreaLicense.getText());\r
1027 } else {\r
1028 return;\r
1029 }\r
a13899c5 1030 } else {\r
1031 License mLicense = License.Factory.newInstance();\r
1032 mLicense.setStringValue(this.jTextAreaLicense.getText());\r
1033 this.msaHeader.setLicense(mLicense);\r
1034 }\r
1035 }\r
1036\r
1037 //\r
1038 // Check License URL\r
1039 //\r
1040 if (arg0.getSource() == this.jTextFieldURL) {\r
1041 if (!isEmpty(this.jTextFieldURL.getText())) {\r
1042 if (this.msaHeader.getLicense() == null) {\r
1043 License mLicense = License.Factory.newInstance();\r
1044 mLicense.setURL(this.jTextFieldURL.getText());\r
1045 this.msaHeader.setLicense(mLicense);\r
1046 } else {\r
2003a22e 1047 if (!this.jTextFieldURL.getText().equals(msaHeader.getLicense().getURL())) {\r
1048 this.msaHeader.getLicense().setURL(this.jTextFieldURL.getText());\r
1049 } else {\r
1050 return;\r
1051 }\r
a13899c5 1052 }\r
1053 }\r
1054 }\r
2003a22e 1055 \r
a13899c5 1056 this.save();\r
1057 }\r
1058}\r