]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdHeader.java
Added code to fail the SAVerify command when validation failed
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdHeader.java
CommitLineData
a13899c5 1/** @file\r
2 \r
3 The file is used to create, update FpdHeader of Fpd 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.platform.ui;\r
17\r
18import java.awt.Dimension;\r
a13899c5 19import java.awt.event.ActionEvent;\r
20import java.awt.event.ComponentEvent;\r
21import java.awt.event.FocusAdapter;\r
22import java.awt.event.FocusEvent;\r
23\r
24import javax.swing.JButton;\r
d6d24759 25import javax.swing.JFrame;\r
a13899c5 26import javax.swing.JLabel;\r
d6d24759 27import javax.swing.JOptionPane;\r
a13899c5 28import javax.swing.JPanel;\r
29import javax.swing.JScrollPane;\r
30import javax.swing.JTextArea;\r
31import javax.swing.JTextField;\r
32\r
33\r
a13899c5 34\r
35import org.tianocore.PlatformSurfaceAreaDocument;\r
a13899c5 36\r
a13899c5 37import org.tianocore.frameworkwizard.common.DataValidation;\r
38import org.tianocore.frameworkwizard.common.Log;\r
39import org.tianocore.frameworkwizard.common.Tools;\r
d6d24759 40import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\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 FpdHeader of Fpd file\r
46 It extends IInternalFrame\r
47 \r
48 @since PackageEditor 1.0\r
49\r
50 **/\r
51public class FpdHeader 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
d6d24759 58 static JFrame frame;\r
a13899c5 59 //\r
60 //Define class members\r
61 //\r
62 private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="10,53"\r
63\r
64 private JLabel jLabelBaseName = null;\r
65\r
66 private JTextField jTextFieldBaseName = null;\r
67\r
68 private JLabel jLabelGuid = null;\r
69\r
70 private JTextField jTextFieldGuid = null;\r
71\r
72 private JLabel jLabelVersion = null;\r
73\r
74 private JTextField jTextFieldVersion = null;\r
75\r
76 private JButton jButtonGenerateGuid = null;\r
77\r
78 private JLabel jLabelLicense = null;\r
79\r
80 private JTextArea jTextAreaLicense = null;\r
81\r
82 private JLabel jLabelCopyright = null;\r
83\r
84 private JLabel jLabelDescription = null;\r
85\r
86 private JTextArea jTextAreaDescription = null;\r
87\r
88 private JLabel jLabelSpecification = null;\r
89\r
90 private JTextField jTextFieldSpecification = null;\r
91\r
92 private JButton jButtonOk = null;\r
93\r
94 private JButton jButtonCancel = null;\r
95\r
96 private JScrollPane jScrollPaneLicense = null;\r
97\r
98 private JScrollPane jScrollPaneDescription = null;\r
99\r
100 private JLabel jLabelAbstract = null;\r
101\r
102 private JTextField jTextFieldAbstract = null;\r
103\r
104 private StarLabel jStarLabel1 = null;\r
105\r
106 private StarLabel jStarLabel2 = null;\r
107\r
108 private StarLabel jStarLabel3 = 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 jStarLabel9 = null;\r
121 \r
122 private JTextField jTextFieldCopyright = null;\r
123\r
124 private JLabel jLabel = null;\r
125\r
126 private JTextField jTextField = null;\r
127 \r
128 private FpdFileContents ffc = null;\r
d6d24759 129 \r
130 private OpeningPlatformType docConsole = null;\r
a13899c5 131\r
132 /**\r
133 This method initializes jTextFieldBaseName \r
134 \r
135 @return javax.swing.JTextField jTextFieldBaseName\r
136 \r
137 **/\r
138 private JTextField getJTextFieldBaseName() {\r
139 if (jTextFieldBaseName == null) {\r
140 jTextFieldBaseName = new JTextField();\r
141 jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
142 jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320,20));\r
143 jTextFieldBaseName.addFocusListener(new FocusAdapter(){\r
144 public void focusLost(FocusEvent e) {\r
d6d24759 145 if (!DataValidation.isUiNameType(jTextFieldBaseName.getText())) {\r
146 JOptionPane.showMessageDialog(frame, "Package Name is NOT UiNameType.");\r
147 return;\r
148 }\r
149 docConsole.setSaved(false);\r
a13899c5 150 ffc.setFpdHdrPlatformName(jTextFieldBaseName.getText());\r
151 } \r
152 });\r
153 }\r
154 return jTextFieldBaseName;\r
155 }\r
156\r
157 /**\r
158 This method initializes jTextFieldGuid \r
159 \r
160 @return javax.swing.JTextField jTextFieldGuid\r
161 \r
162 **/\r
163 private JTextField getJTextFieldGuid() {\r
164 if (jTextFieldGuid == null) {\r
165 jTextFieldGuid = new JTextField();\r
166 jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 250, 20));\r
167 jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250,20));\r
168 jTextFieldGuid.addFocusListener(new FocusAdapter(){\r
169 public void focusLost(FocusEvent e) {\r
d6d24759 170 if (!DataValidation.isGuid(jTextFieldGuid.getText())) {\r
171 JOptionPane.showMessageDialog(frame, "Guid is NOT GuidType.");\r
172 return;\r
173 }\r
174 docConsole.setSaved(false);\r
a13899c5 175 ffc.setFpdHdrGuidValue(jTextFieldGuid.getText());\r
176 } \r
177 });\r
178 }\r
179 return jTextFieldGuid;\r
180 }\r
181\r
182 /**\r
183 This method initializes jTextFieldVersion \r
184 \r
185 @return javax.swing.JTextField jTextFieldVersion\r
186 \r
187 **/\r
188 private JTextField getJTextFieldVersion() {\r
189 if (jTextFieldVersion == null) {\r
190 jTextFieldVersion = new JTextField();\r
191 jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
192 jTextFieldVersion.setPreferredSize(new java.awt.Dimension(320,20));\r
193 jTextFieldVersion.addFocusListener(new FocusAdapter(){\r
194 public void focusLost(FocusEvent e) {\r
d6d24759 195 if (!DataValidation.isVersion(jTextFieldVersion.getText())) {\r
196 JOptionPane.showMessageDialog(frame, "Version is NOT version type.");\r
197 return;\r
198 }\r
199 docConsole.setSaved(false);\r
a13899c5 200 ffc.setFpdHdrVer(jTextFieldVersion.getText());\r
201 } \r
202 });\r
203 }\r
204 return jTextFieldVersion;\r
205 }\r
206\r
207 /**\r
208 This method initializes jButtonGenerateGuid \r
209 \r
210 @return javax.swing.JButton jButtonGenerateGuid\r
211 \r
212 **/\r
213 private JButton getJButtonGenerateGuid() {\r
214 if (jButtonGenerateGuid == null) {\r
215 jButtonGenerateGuid = new JButton();\r
216 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(415, 35, 65, 20));\r
217 jButtonGenerateGuid.setText("GEN");\r
218 jButtonGenerateGuid.addActionListener(this);\r
219 }\r
220 return jButtonGenerateGuid;\r
221 }\r
222\r
223 /**\r
224 This method initializes jTextAreaLicense \r
225 \r
226 @return javax.swing.JTextArea jTextAreaLicense\r
227 \r
228 **/\r
229 private JTextArea getJTextAreaLicense() {\r
230 if (jTextAreaLicense == null) {\r
231 jTextAreaLicense = new JTextArea();\r
232 jTextAreaLicense.setText("");\r
a13899c5 233 jTextAreaLicense.setLineWrap(true);\r
234 jTextAreaLicense.addFocusListener(new FocusAdapter(){\r
235 public void focusLost(FocusEvent e) {\r
d6d24759 236 if (jTextAreaLicense.getText().length() == 0) {\r
237 JOptionPane.showMessageDialog(frame, "License contents could NOT be empty.");\r
238 return;\r
239 }\r
240 docConsole.setSaved(false);\r
a13899c5 241 ffc.setFpdHdrLicense(jTextAreaLicense.getText());\r
242 } \r
243 });\r
244 }\r
245 return jTextAreaLicense;\r
246 }\r
247\r
248 /**\r
249 This method initializes jTextAreaDescription \r
250 \r
251 @return javax.swing.JTextArea jTextAreaDescription\r
252 \r
253 **/\r
254 private JTextArea getJTextAreaDescription() {\r
255 if (jTextAreaDescription == null) {\r
256 jTextAreaDescription = new JTextArea();\r
257 jTextAreaDescription.setLineWrap(true);\r
a13899c5 258 jTextAreaDescription.addFocusListener(new FocusAdapter(){\r
259 public void focusLost(FocusEvent e) {\r
d6d24759 260 if (jTextAreaDescription.getText().length() == 0) {\r
261 JOptionPane.showMessageDialog(frame, "Description contents could NOT be empty.");\r
262 return;\r
263 }\r
264 docConsole.setSaved(false);\r
a13899c5 265 ffc.setFpdHdrDescription(jTextAreaDescription.getText());\r
266 } \r
267 });\r
268 }\r
269 return jTextAreaDescription;\r
270 }\r
271\r
272 /**\r
273 This method initializes jTextFieldSpecification \r
274 \r
275 @return javax.swing.JTextField jTextFieldSpecification\r
276 \r
277 **/\r
278 private JTextField getJTextFieldSpecification() {\r
279 if (jTextFieldSpecification == null) {\r
280 jTextFieldSpecification = new JTextField();\r
410e0e9f 281 jTextFieldSpecification.setBounds(new java.awt.Rectangle(160,328,320,20));\r
a13899c5 282 jTextFieldSpecification.setEditable(false);\r
283 jTextFieldSpecification.setPreferredSize(new java.awt.Dimension(320,20));\r
284 jTextFieldSpecification.addFocusListener(new FocusAdapter(){\r
285 public void focusLost(FocusEvent e) {\r
286 ffc.setFpdHdrSpec(jTextFieldSpecification.getText());\r
287 } \r
288 });\r
289 }\r
290 return jTextFieldSpecification;\r
291 }\r
292\r
293 /**\r
294 This method initializes jButtonOk \r
295 \r
296 @return javax.swing.JButton jButtonOk\r
297 \r
298 **/\r
299 private JButton getJButtonOk() {\r
300 if (jButtonOk == null) {\r
301 jButtonOk = new JButton();\r
302 jButtonOk.setText("OK");\r
303 jButtonOk.setBounds(new java.awt.Rectangle(290,351,90,20));\r
304 jButtonOk.setVisible(false);\r
305 jButtonOk.addActionListener(this);\r
306 }\r
307 return jButtonOk;\r
308 }\r
309\r
310 /**\r
311 This method initializes jButtonCancel \r
312 \r
313 @return javax.swing.JButton jButtonCancel\r
314 \r
315 **/\r
316 private JButton getJButtonCancel() {\r
317 if (jButtonCancel == null) {\r
318 jButtonCancel = new JButton();\r
319 jButtonCancel.setText("Cancel");\r
320 jButtonCancel.setBounds(new java.awt.Rectangle(390,351,90,20));\r
321 jButtonCancel.setVisible(false);\r
322 jButtonCancel.addActionListener(this);\r
323 }\r
324 return jButtonCancel;\r
325 }\r
326\r
327 /**\r
328 This method initializes jScrollPaneLicense \r
329 \r
330 @return javax.swing.JScrollPane jScrollPaneLicense\r
331 \r
332 **/\r
333 private JScrollPane getJScrollPaneLicense() {\r
334 if (jScrollPaneLicense == null) {\r
335 jScrollPaneLicense = new JScrollPane();\r
410e0e9f 336 jScrollPaneLicense.setBounds(new java.awt.Rectangle(160,107,320,80));\r
a13899c5 337 jScrollPaneLicense.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
338 jScrollPaneLicense.setPreferredSize(new java.awt.Dimension(320,80));\r
339 jScrollPaneLicense.setViewportView(getJTextAreaLicense());\r
340 }\r
341 return jScrollPaneLicense;\r
342 }\r
343\r
344 /**\r
345 This method initializes jScrollPaneDescription \r
346 \r
347 @return javax.swing.JScrollPane jScrollPaneDescription\r
348 \r
349 **/\r
350 private JScrollPane getJScrollPaneDescription() {\r
351 if (jScrollPaneDescription == null) {\r
352 jScrollPaneDescription = new JScrollPane();\r
410e0e9f 353 jScrollPaneDescription.setBounds(new java.awt.Rectangle(160,243,320,80));\r
a13899c5 354 jScrollPaneDescription.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
355 jScrollPaneDescription.setViewportView(getJTextAreaDescription());\r
356 }\r
357 return jScrollPaneDescription;\r
358 }\r
359\r
360 /**\r
361 This method initializes jTextFieldAbstract \r
362 \r
363 @return javax.swing.JTextField jTextFieldAbstract\r
364 \r
365 **/\r
366 private JTextField getJTextFieldAbstract() {\r
367 if (jTextFieldAbstract == null) {\r
368 jTextFieldAbstract = new JTextField();\r
410e0e9f 369 jTextFieldAbstract.setBounds(new java.awt.Rectangle(160,218,320,20));\r
a13899c5 370 jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20));\r
371 jTextFieldAbstract.addFocusListener(new FocusAdapter(){\r
372 public void focusLost(FocusEvent e) {\r
d6d24759 373 if (!DataValidation.isAbstract(jTextFieldAbstract.getText())) {\r
374 JOptionPane.showMessageDialog(frame, "Abstract could NOT be empty.");\r
375 return;\r
376 }\r
377 docConsole.setSaved(false);\r
a13899c5 378 ffc.setFpdHdrAbs(jTextFieldAbstract.getText());\r
379 } \r
380 });\r
381 }\r
382 return jTextFieldAbstract;\r
383 }\r
384\r
385 /**\r
386 This method initializes jTextFieldCopyright \r
387 \r
388 @return javax.swing.JTextField jTextFieldCopyright\r
389 \r
390 **/\r
391 private JTextField getJTextFieldCopyright() {\r
392 if (jTextFieldCopyright == null) {\r
393 jTextFieldCopyright = new JTextField();\r
410e0e9f 394 jTextFieldCopyright.setBounds(new java.awt.Rectangle(160,85,320,20));\r
a13899c5 395 jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320,20));\r
396 jTextFieldCopyright.addFocusListener(new FocusAdapter(){\r
397 public void focusLost(FocusEvent e) {\r
d6d24759 398 if (!DataValidation.isCopyright(jTextFieldCopyright.getText())) {\r
399 JOptionPane.showMessageDialog(frame, "Copyright contents could not be empty.");\r
400 return;\r
401 }\r
402 docConsole.setSaved(false);\r
a13899c5 403 ffc.setFpdHdrCopyright(jTextFieldCopyright.getText());\r
404 } \r
405 });\r
406 }\r
407 return jTextFieldCopyright;\r
408 }\r
409\r
410 /**\r
411 * This method initializes jTextField \r
412 * \r
413 * @return javax.swing.JTextField \r
414 */\r
415 private JTextField getJTextField() {\r
416 if (jTextField == null) {\r
417 jTextField = new JTextField();\r
410e0e9f 418 jTextField.setBounds(new java.awt.Rectangle(160,193,320,20));\r
a13899c5 419 jTextField.setPreferredSize(new Dimension(320, 20));\r
420 jTextField.addFocusListener(new FocusAdapter(){\r
421 public void focusLost(FocusEvent e){\r
422 ffc.setFpdHdrLicense(jTextAreaLicense.getText());\r
423 ffc.setFpdHdrUrl(jTextField.getText());\r
d6d24759 424 docConsole.setSaved(false);\r
a13899c5 425 } \r
426 });\r
427 }\r
428 return jTextField;\r
429 }\r
430\r
431 public static void main(String[] args) {\r
432 new FpdHeader().setVisible(true);\r
433 }\r
434\r
435 /**\r
436 This is the default constructor\r
437 \r
438 **/\r
439 public FpdHeader() {\r
440 super();\r
441 init();\r
442 this.setVisible(true);\r
443 }\r
444\r
445 /**\r
446 This is the override edit constructor\r
447 \r
448 @param inFpdHeader The input data of FpdHeaderDocument.FpdHeader\r
449 \r
450 **/\r
451 public FpdHeader(PlatformSurfaceAreaDocument.PlatformSurfaceArea inFpd) {\r
452 this();\r
453 ffc = new FpdFileContents(inFpd);\r
454 init(ffc);\r
455 \r
456 }\r
d6d24759 457 \r
458 public FpdHeader(OpeningPlatformType opt) {\r
459 this(opt.getXmlFpd());\r
460 docConsole = opt;\r
461 }\r
a13899c5 462\r
463 /**\r
464 This method initializes this\r
465 \r
466 **/\r
467 private void init() {\r
468 //this.setSize(500, 515);\r
469 this.setContentPane(getJContentPane());\r
470 this.setTitle("Package Surface Area Header");\r
471 initFrame();\r
472 \r
473 }\r
474\r
475 /**\r
476 This method initializes this\r
477 Fill values to all fields if these values are not empty\r
478 \r
479 @param inFpdHeader The input data of FpdHeaderDocument.FpdHeader\r
480 \r
481 **/\r
482 private void init(FpdFileContents ffc) {\r
483\r
484 if (ffc.getFpdHdrPlatformName() != null) {\r
485 jTextFieldBaseName.setText(ffc.getFpdHdrPlatformName());\r
486 }\r
487 if (ffc.getFpdHdrGuidValue() != null) {\r
488 jTextFieldGuid.setText(ffc.getFpdHdrGuidValue());\r
489 }\r
490 if (ffc.getFpdHdrVer() != null) {\r
491 jTextFieldVersion.setText(ffc.getFpdHdrVer());\r
492 }\r
493 if (ffc.getFpdHdrLicense() != null) {\r
494 jTextAreaLicense.setText(ffc.getFpdHdrLicense());\r
495 }\r
44053733 496 if (ffc.getFpdHdrAbs() != null) {\r
497 jTextFieldAbstract.setText(ffc.getFpdHdrAbs());\r
498 }\r
a13899c5 499 if (ffc.getFpdHdrUrl() != null) {\r
500 jTextField.setText(ffc.getFpdHdrUrl());\r
501 }\r
502 if (ffc.getFpdHdrCopyright() != null) {\r
503 jTextFieldCopyright.setText(ffc.getFpdHdrCopyright());\r
504 }\r
505 if (ffc.getFpdHdrDescription() != null) {\r
506 jTextAreaDescription.setText(ffc.getFpdHdrDescription());\r
507 }\r
508 if (ffc.getFpdHdrSpec() != null) {\r
509 jTextFieldSpecification.setText(ffc.getFpdHdrSpec());\r
510 }\r
12e17a0a 511 ffc.setFpdHdrSpec(jTextFieldSpecification.getText()); \r
a13899c5 512 }\r
513\r
514 /**\r
515 This method initializes jContentPane\r
516 \r
517 @return javax.swing.JPanel jContentPane\r
518 \r
519 **/\r
520 private JPanel getJContentPane() {\r
521 if (jContentPane == null) {\r
522 jLabel = new JLabel();\r
410e0e9f 523 jLabel.setBounds(new java.awt.Rectangle(15,193,140,20));\r
a13899c5 524 jLabel.setText("URL");\r
525 jContentPane = new JPanel();\r
526 jContentPane.setLayout(null);\r
527 jContentPane.setLocation(new java.awt.Point(0, 0));\r
528 jContentPane.setSize(new java.awt.Dimension(500,423));\r
529 jLabelAbstract = new JLabel();\r
410e0e9f 530 jLabelAbstract.setBounds(new java.awt.Rectangle(15,218,140,20));\r
a13899c5 531 jLabelAbstract.setText("Abstract");\r
532 jLabelSpecification = new JLabel();\r
533 jLabelSpecification.setText("Specification");\r
410e0e9f 534 jLabelSpecification.setBounds(new java.awt.Rectangle(15,328,140,20));\r
a13899c5 535 jLabelDescription = new JLabel();\r
536 jLabelDescription.setText("Description");\r
410e0e9f 537 jLabelDescription.setBounds(new java.awt.Rectangle(15,243,140,20));\r
a13899c5 538 jLabelCopyright = new JLabel();\r
539 jLabelCopyright.setText("Copyright");\r
410e0e9f 540 jLabelCopyright.setBounds(new java.awt.Rectangle(15,85,140,20));\r
a13899c5 541 jLabelLicense = new JLabel();\r
542 jLabelLicense.setText("License");\r
410e0e9f 543 jLabelLicense.setBounds(new java.awt.Rectangle(15,108,140,20));\r
a13899c5 544 jLabelVersion = new JLabel();\r
545 jLabelVersion.setText("Version");\r
546 jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
547 jLabelGuid = new JLabel();\r
548 jLabelGuid.setPreferredSize(new java.awt.Dimension(25, 15));\r
549 jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
550 jLabelGuid.setText("Guid");\r
551 jLabelBaseName = new JLabel();\r
552 jLabelBaseName.setText("Platform Name");\r
553 jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
554 jContentPane.add(jLabelBaseName, null);\r
555 jContentPane.add(getJTextFieldBaseName(), null);\r
556 jContentPane.add(jLabelGuid, null);\r
557 jContentPane.add(getJTextFieldGuid(), null);\r
558 jContentPane.add(jLabelVersion, null);\r
559 jContentPane.add(getJTextFieldVersion(), null);\r
560 jContentPane.add(getJButtonGenerateGuid(), null);\r
561 jContentPane.add(jLabelLicense, null);\r
562 jContentPane.add(jLabelCopyright, null);\r
563 jContentPane.add(jLabelDescription, null);\r
564 jContentPane.add(jLabelSpecification, null);\r
565 jContentPane.add(getJTextFieldSpecification(), null);\r
566 jContentPane.add(getJButtonOk(), null);\r
567 jContentPane.add(getJButtonCancel(), null);\r
568 jContentPane.add(getJScrollPaneLicense(), null);\r
569 jContentPane.add(getJScrollPaneDescription(), null);\r
570 jContentPane.add(jLabelAbstract, null);\r
571 jContentPane.add(getJTextFieldAbstract(), null);\r
572 jStarLabel1 = new StarLabel();\r
573 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
574 jStarLabel2 = new StarLabel();\r
575 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
576 jStarLabel3 = new StarLabel();\r
577 jStarLabel3.setLocation(new java.awt.Point(0, 60));\r
578 jStarLabel4 = new StarLabel();\r
410e0e9f 579 jStarLabel4.setLocation(new java.awt.Point(0,108));\r
a13899c5 580 jStarLabel5 = new StarLabel();\r
410e0e9f 581 jStarLabel5.setLocation(new java.awt.Point(0,85));\r
a13899c5 582 jStarLabel6 = new StarLabel();\r
410e0e9f 583 jStarLabel6.setLocation(new java.awt.Point(0,218));\r
a13899c5 584 jStarLabel7 = new StarLabel();\r
410e0e9f 585 jStarLabel7.setLocation(new java.awt.Point(0,328));\r
a13899c5 586 jStarLabel7.setEnabled(false);\r
587 jStarLabel8 = new StarLabel();\r
410e0e9f 588 jStarLabel8.setLocation(new java.awt.Point(0,243));\r
a13899c5 589 jStarLabel9 = new StarLabel();\r
410e0e9f 590 jStarLabel9.setLocation(new java.awt.Point(0,303));\r
a13899c5 591 jStarLabel9.setVisible(false);\r
592 jContentPane.add(jStarLabel1, null);\r
593 jContentPane.add(jStarLabel2, null);\r
594 jContentPane.add(jStarLabel3, null);\r
595 jContentPane.add(jStarLabel4, null);\r
596 jContentPane.add(jStarLabel5, null);\r
597 jContentPane.add(jStarLabel6, null);\r
598 jContentPane.add(jStarLabel7, null);\r
599 jContentPane.add(jStarLabel8, null);\r
600 jContentPane.add(jStarLabel9, null);\r
601 jContentPane.add(getJTextFieldCopyright(), null);\r
602\r
603 jContentPane.add(jLabel, null);\r
604 jContentPane.add(getJTextField(), null);\r
605 }\r
606 return jContentPane;\r
607 }\r
608\r
609 /* (non-Javadoc)\r
610 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
611 *\r
612 * Override actionPerformed to listen all actions\r
613 *\r
614 */\r
615 public void actionPerformed(ActionEvent arg0) {\r
616 if (arg0.getSource() == jButtonOk) {\r
617 this.save();\r
618 this.setEdited(true);\r
619 }\r
620 if (arg0.getSource() == jButtonCancel) {\r
621 this.setEdited(false);\r
622 }\r
623 if (arg0.getSource() == jButtonGenerateGuid) {\r
d6d24759 624 docConsole.setSaved(false);\r
a13899c5 625 jTextFieldGuid.setText(Tools.generateUuidString());\r
626 ffc.setFpdHdrGuidValue(jTextFieldGuid.getText());\r
627 }\r
628 }\r
629\r
630 /**\r
631 Data validation for all fields\r
632 \r
633 @retval true - All datas are valid\r
634 @retval false - At least one data is invalid\r
635 \r
636 **/\r
637 public boolean check() {\r
638 //\r
639 // Check if all required fields are not empty\r
640 //\r
641 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
ed1665f2 642 Log.wrn("Update Fpd Header", "Base Name couldn't be empty");\r
a13899c5 643 return false;\r
644 }\r
645 if (isEmpty(this.jTextFieldGuid.getText())) {\r
ed1665f2 646 Log.wrn("Update Fpd Header", "Guid couldn't be empty");\r
a13899c5 647 return false;\r
648 }\r
649 if (isEmpty(this.jTextFieldVersion.getText())) {\r
ed1665f2 650 Log.wrn("Update Fpd Header", "Version couldn't be empty");\r
a13899c5 651 return false;\r
652 }\r
653 if (isEmpty(this.jTextAreaLicense.getText())) {\r
ed1665f2 654 Log.wrn("Update Fpd Header", "License couldn't be empty");\r
a13899c5 655 return false;\r
656 }\r
657 if (isEmpty(this.jTextFieldCopyright.getText())) {\r
ed1665f2 658 Log.wrn("Update Fpd Header", "Copyright couldn't be empty");\r
a13899c5 659 return false;\r
660 }\r
661 if (isEmpty(this.jTextAreaDescription.getText())) {\r
ed1665f2 662 Log.wrn("Update Fpd Header", "Description couldn't be empty");\r
a13899c5 663 return false;\r
664 }\r
665 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
ed1665f2 666 Log.wrn("Update Fpd Header", "Abstract couldn't be empty");\r
a13899c5 667 return false;\r
668 }\r
669\r
670 //\r
671 // Check if all fields have correct data types \r
672 //\r
673 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
ed1665f2 674 Log.wrn("Update Fpd Header", "Incorrect data type for Base Name");\r
a13899c5 675 return false;\r
676 }\r
677 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
ed1665f2 678 Log.wrn("Update Fpd Header", "Incorrect data type for Guid");\r
a13899c5 679 return false;\r
680 }\r
681 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
ed1665f2 682 Log.wrn("Update Fpd Header", "Incorrect data type for Abstract");\r
a13899c5 683 return false;\r
684 }\r
685 if (!DataValidation.isCopyright(this.jTextFieldCopyright.getText())) {\r
ed1665f2 686 Log.wrn("Update Fpd Header", "Incorrect data type for Copyright");\r
a13899c5 687 return false;\r
688 }\r
689 return true;\r
690 }\r
691\r
692 /**\r
693 Save all components of Fpd Header\r
694 if exists FpdHeader, set the value directly\r
695 if not exists FpdHeader, new an instance first\r
696 \r
697 **/\r
698 public void save() {\r
699 \r
700 }\r
701\r
702 /**\r
703 This method initializes Package type and Compontent type\r
704 \r
705 **/\r
706 private void initFrame() {\r
707 \r
708 \r
709 }\r
710\r
711 /* (non-Javadoc)\r
712 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
713 * \r
714 * Override componentResized to resize all components when frame's size is changed\r
715 */\r
716 public void componentResized(ComponentEvent arg0) {\r
717 int intPreferredWidth = 500;\r
718 \r
719 resizeComponentWidth(this.jTextFieldBaseName, this.getWidth(), intPreferredWidth);\r
720 resizeComponentWidth(this.jTextFieldGuid, this.getWidth(), intPreferredWidth);\r
721 resizeComponentWidth(this.jTextFieldVersion, this.getWidth(), intPreferredWidth);\r
f3b0ed9a 722 resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
a13899c5 723 resizeComponentWidth(this.jScrollPaneLicense, this.getWidth(), intPreferredWidth);\r
724 resizeComponentWidth(this.jTextFieldCopyright, this.getWidth(), intPreferredWidth);\r
725 resizeComponentWidth(this.jScrollPaneDescription, this.getWidth(), intPreferredWidth);\r
726 resizeComponentWidth(this.jTextFieldSpecification, this.getWidth(), intPreferredWidth);\r
727 resizeComponentWidth(this.jTextFieldAbstract, this.getWidth(), intPreferredWidth);\r
728 \r
729 relocateComponentX(this.jButtonGenerateGuid, this.getWidth(), jButtonGenerateGuid.getWidth(), 25);\r
730 }\r
731}\r