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