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