]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java
1. change SPD Pcd editor title to "PCD Declarations".
[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
209abc92 32\r
a13899c5 33import org.tianocore.PackageSurfaceAreaDocument;\r
34import org.tianocore.frameworkwizard.common.DataValidation;\r
35import org.tianocore.frameworkwizard.common.Log;\r
36import org.tianocore.frameworkwizard.common.Tools;\r
d6d24759 37import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
a13899c5 38import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
39import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
40\r
41/**\r
42 The class is used to create, update spdHeader of Spd file\r
43 It extends IInternalFrame\r
44 \r
45 @since PackageEditor 1.0\r
46\r
47 **/\r
48public class SpdHeader extends IInternalFrame {\r
49\r
50 ///\r
51 /// Define class Serial Version UID\r
52 ///\r
53 private static final long serialVersionUID = -8152099582923006900L;\r
54\r
55 //\r
56 //Define class members\r
57 //\r
ce73a791 58 static JFrame frame;\r
59 \r
a13899c5 60 private JPanel jContentPane = null;\r
61\r
62 private JLabel jLabelBaseName = null;\r
63\r
64 private JTextField jTextFieldBaseName = null;\r
65\r
66 private JLabel jLabelGuid = null;\r
67\r
68 private JTextField jTextFieldGuid = null;\r
69\r
70 private JLabel jLabelVersion = null;\r
71\r
72 private JTextField jTextFieldVersion = null;\r
73\r
74 private JButton jButtonGenerateGuid = null;\r
75\r
76 private JLabel jLabelLicense = null;\r
77\r
78 private JTextArea jTextAreaLicense = null;\r
79\r
80 private JLabel jLabelCopyright = null;\r
81\r
82 private JLabel jLabelDescription = null;\r
83\r
84 private JTextArea jTextAreaDescription = null;\r
85\r
86 private JLabel jLabelSpecification = null;\r
87\r
88 private JTextField jTextFieldSpecification = null;\r
89\r
90 private JButton jButtonOk = null;\r
91\r
92 private JButton jButtonCancel = null;\r
93\r
94 private JScrollPane jScrollPaneLicense = null;\r
95\r
96 private JScrollPane jScrollPaneDescription = null;\r
97\r
98 private JLabel jLabelAbstract = null;\r
99\r
100 private JTextField jTextFieldAbstract = null;\r
101\r
102 private StarLabel jStarLabel1 = null;\r
103\r
104 private StarLabel jStarLabel2 = null;\r
105\r
106 private StarLabel jStarLabel3 = null;\r
107\r
108 private StarLabel jStarLabel4 = null;\r
109\r
110 private StarLabel jStarLabel5 = null;\r
111\r
112 private StarLabel jStarLabel6 = null;\r
113\r
114 private StarLabel jStarLabel7 = null;\r
115\r
116 private StarLabel jStarLabel9 = null;\r
117 \r
118 private SpdFileContents sfc = null;\r
d6d24759 119 \r
120 private OpeningPackageType docConsole = null;\r
a13899c5 121\r
122 private JTextField jTextFieldCopyright = null;\r
123 \r
124 private JScrollPane topScrollPane = null;\r
125\r
126 private JLabel jLabel = null;\r
127\r
128 private JTextField jTextField = null;\r
129\r
130 /**\r
131 This method initializes jTextFieldBaseName \r
132 \r
133 @return javax.swing.JTextField jTextFieldBaseName\r
134 \r
135 **/\r
136 private JTextField getJTextFieldBaseName() {\r
137 if (jTextFieldBaseName == null) {\r
138 jTextFieldBaseName = new JTextField();\r
139 jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
140 jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320,20));\r
141 jTextFieldBaseName.addFocusListener(new FocusAdapter(){\r
142 public void focusLost(FocusEvent e){\r
ce73a791 143 if (!DataValidation.isUiNameType(jTextFieldBaseName.getText())) {\r
144 JOptionPane.showMessageDialog(frame, "Package Name is NOT UiNameType.");\r
145 return;\r
146 }\r
d6d24759 147 docConsole.setSaved(false);\r
a13899c5 148 sfc.setSpdHdrPkgName(jTextFieldBaseName.getText());\r
149 }\r
150 });\r
151 }\r
152 return jTextFieldBaseName;\r
153 }\r
154\r
155 /**\r
156 This method initializes jTextFieldGuid \r
157 \r
158 @return javax.swing.JTextField jTextFieldGuid\r
159 \r
160 **/\r
161 private JTextField getJTextFieldGuid() {\r
162 if (jTextFieldGuid == null) {\r
163 jTextFieldGuid = new JTextField();\r
164 jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 35, 250, 20));\r
165 jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250,20));\r
166 jTextFieldGuid.addFocusListener(new FocusAdapter(){\r
167 public void focusLost(FocusEvent e){\r
ce73a791 168 if (!DataValidation.isGuid(jTextFieldGuid.getText())) {\r
169 JOptionPane.showMessageDialog(frame, "Guid is NOT GuidType.");\r
170 return;\r
171 }\r
d6d24759 172 docConsole.setSaved(false);\r
a13899c5 173 sfc.setSpdHdrGuidValue(jTextFieldGuid.getText());\r
174 }\r
175 });\r
176 }\r
177 return jTextFieldGuid;\r
178 }\r
179\r
180 /**\r
181 This method initializes jTextFieldVersion \r
182 \r
183 @return javax.swing.JTextField jTextFieldVersion\r
184 \r
185 **/\r
186 private JTextField getJTextFieldVersion() {\r
187 if (jTextFieldVersion == null) {\r
188 jTextFieldVersion = new JTextField();\r
189 jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
190 jTextFieldVersion.setPreferredSize(new java.awt.Dimension(320,20));\r
191 jTextFieldVersion.addFocusListener(new FocusAdapter(){\r
192 public void focusLost(FocusEvent e){\r
ce73a791 193 if (!DataValidation.isVersion(jTextFieldVersion.getText())) {\r
194 JOptionPane.showMessageDialog(frame, "Version is NOT version type.");\r
195 return;\r
196 }\r
d6d24759 197 docConsole.setSaved(false);\r
a13899c5 198 sfc.setSpdHdrVer(jTextFieldVersion.getText());\r
199 } \r
200 });\r
201 }\r
202 return jTextFieldVersion;\r
203 }\r
204\r
205 /**\r
206 This method initializes jButtonGenerateGuid \r
207 \r
208 @return javax.swing.JButton jButtonGenerateGuid\r
209 \r
210 **/\r
211 private JButton getJButtonGenerateGuid() {\r
212 if (jButtonGenerateGuid == null) {\r
213 jButtonGenerateGuid = new JButton();\r
214 jButtonGenerateGuid.setBounds(new java.awt.Rectangle(415, 35, 65, 20));\r
215 jButtonGenerateGuid.setText("GEN");\r
216 jButtonGenerateGuid.addActionListener(this);\r
217 }\r
218 return jButtonGenerateGuid;\r
219 }\r
220\r
221 /**\r
222 This method initializes jTextAreaLicense \r
223 \r
224 @return javax.swing.JTextArea jTextAreaLicense\r
225 \r
226 **/\r
227 private JTextArea getJTextAreaLicense() {\r
228 if (jTextAreaLicense == null) {\r
229 jTextAreaLicense = new JTextArea();\r
230 jTextAreaLicense.setText("");\r
d6d24759 231// jTextAreaLicense.setPreferredSize(new java.awt.Dimension(317,77));\r
a13899c5 232 jTextAreaLicense.setLineWrap(true);\r
233 jTextAreaLicense.addFocusListener(new FocusAdapter(){\r
234 public void focusLost(FocusEvent e){\r
ce73a791 235 if (jTextAreaLicense.getText().length() == 0) {\r
236 JOptionPane.showMessageDialog(frame, "License contents could NOT be empty.");\r
237 return;\r
238 }\r
d6d24759 239 docConsole.setSaved(false);\r
a13899c5 240 sfc.setSpdHdrLicense(jTextAreaLicense.getText());\r
241 }\r
242 });\r
243 }\r
244 return jTextAreaLicense;\r
245 }\r
246\r
247 /**\r
248 This method initializes jTextAreaDescription \r
249 \r
250 @return javax.swing.JTextArea jTextAreaDescription\r
251 \r
252 **/\r
253 private JTextArea getJTextAreaDescription() {\r
254 if (jTextAreaDescription == null) {\r
255 jTextAreaDescription = new JTextArea();\r
256 jTextAreaDescription.setLineWrap(true);\r
d6d24759 257// jTextAreaDescription.setPreferredSize(new java.awt.Dimension(317,77));\r
a13899c5 258 jTextAreaDescription.addFocusListener(new FocusAdapter(){\r
259 public void focusLost(FocusEvent e){\r
ce73a791 260 if (jTextAreaDescription.getText().length() == 0) {\r
261 JOptionPane.showMessageDialog(frame, "Description contents could NOT be empty.");\r
262 return;\r
263 }\r
d6d24759 264 docConsole.setSaved(false);\r
a13899c5 265 sfc.setSpdHdrDescription(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(161,330,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 sfc.setSpdHdrSpec(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, 445, 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, 445, 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(161,108,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,244,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(161,220,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
ce73a791 373 if (!DataValidation.isAbstract(jTextFieldAbstract.getText())) {\r
374 JOptionPane.showMessageDialog(frame, "Abstract could NOT be empty.");\r
375 return;\r
376 }\r
d6d24759 377 docConsole.setSaved(false);\r
a13899c5 378 sfc.setSpdHdrAbs(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,86,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
ce73a791 398 if (!DataValidation.isCopyright(jTextFieldCopyright.getText())) {\r
399 JOptionPane.showMessageDialog(frame, "Copyright contents could not be empty.");\r
400 return;\r
401 }\r
d6d24759 402 docConsole.setSaved(false);\r
a13899c5 403 sfc.setSpdHdrCopyright(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(161,195,320,20));\r
a13899c5 419 jTextField.setPreferredSize(new java.awt.Dimension(320, 20));\r
420 jTextField.addFocusListener(new FocusAdapter(){\r
421 public void focusLost(FocusEvent e){\r
422 sfc.setSpdHdrLicense(jTextAreaLicense.getText());\r
423 sfc.setSpdHdrUrl(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 SpdHeader().setVisible(true);\r
433 }\r
434\r
435 /**\r
436 This is the default constructor\r
437 \r
438 **/\r
439 public SpdHeader() {\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 inspdHeader The input data of spdHeaderDocument.spdHeader\r
449 \r
450 **/\r
451 public SpdHeader(PackageSurfaceAreaDocument.PackageSurfaceArea inPsa) {\r
452 this();\r
453 sfc = new SpdFileContents(inPsa);\r
454 init(sfc);\r
455 }\r
d6d24759 456 \r
457 public SpdHeader(OpeningPackageType opt){\r
458 this(opt.getXmlSpd());\r
459 docConsole = opt;\r
460 }\r
a13899c5 461 /**\r
462 This method initializes this\r
463 \r
464 **/\r
465 private void init() {\r
466 this.setContentPane(getTopScrollPane());\r
467 this.setTitle("Package Surface Area Header");\r
468 initFrame();\r
469 }\r
470\r
471 /**\r
472 This method initializes this\r
473 Fill values to all fields if these values are not empty\r
474 \r
475 @param inspdHeader The input data of spdHeaderDocument.spdHeader\r
476 \r
477 **/\r
478 private void init(SpdFileContents sfc) {\r
479 if (sfc.getSpdHdrPkgName() != null) {\r
480 jTextFieldBaseName.setText(sfc.getSpdHdrPkgName());\r
481 }\r
482 if (sfc.getSpdHdrGuidValue() != null) {\r
483 jTextFieldGuid.setText(sfc.getSpdHdrGuidValue());\r
484 }\r
485 if (sfc.getSpdHdrVer() != null) {\r
486 jTextFieldVersion.setText(sfc.getSpdHdrVer());\r
487 }\r
488 if (sfc.getSpdHdrLicense() != null) {\r
489 jTextAreaLicense.setText(sfc.getSpdHdrLicense());\r
490 }\r
491 if (sfc.getSpdHdrUrl() != null) {\r
492 jTextField.setText(sfc.getSpdHdrUrl());\r
493 }\r
494 if (sfc.getSpdHdrCopyright() != null) {\r
495 jTextFieldCopyright.setText(sfc.getSpdHdrCopyright());\r
496 }\r
497 if (sfc.getSpdHdrAbs() != null) {\r
498 jTextFieldAbstract.setText(sfc.getSpdHdrAbs());\r
499 }\r
500 if (sfc.getSpdHdrDescription() != null) {\r
501 jTextAreaDescription.setText(sfc.getSpdHdrDescription());\r
502 }\r
503 if (sfc.getSpdHdrSpec() != null) {\r
504 jTextFieldSpecification.setText(sfc.getSpdHdrSpec());\r
505 }\r
12e17a0a 506 sfc.setSpdHdrSpec(jTextFieldSpecification.getText());\r
9a8d6d9f 507 \r
508 if (!sfc.getSpdPkgDefsRdOnly().equals("true")) {\r
509 sfc.setSpdPkgDefsRdOnly("false");\r
510 }\r
511 if (!sfc.getSpdPkgDefsRePkg().equals("true")) {\r
512 sfc.setSpdPkgDefsRePkg("false");\r
513 }\r
514 \r
a13899c5 515 }\r
516\r
517 /**\r
518 This method initializes jContentPane\r
519 \r
520 @return javax.swing.JPanel jContentPane\r
521 \r
522 **/\r
523 private JPanel getJContentPane() {\r
524 if (jContentPane == null) {\r
525 jLabel = new JLabel();\r
410e0e9f 526 jLabel.setBounds(new java.awt.Rectangle(16,195,140,20));\r
a13899c5 527 jLabel.setText("URL");\r
528 jContentPane = new JPanel();\r
529 jContentPane.setLayout(null);\r
530 jContentPane.setLocation(new java.awt.Point(0, 0));\r
531 jContentPane.setPreferredSize(new java.awt.Dimension(500, 524));\r
532 jLabelAbstract = new JLabel();\r
410e0e9f 533 jLabelAbstract.setBounds(new java.awt.Rectangle(16,245,140,20));\r
a13899c5 534 jLabelAbstract.setText("Description");\r
535 jLabelSpecification = new JLabel();\r
536 jLabelSpecification.setText("Specification");\r
410e0e9f 537 jLabelSpecification.setBounds(new java.awt.Rectangle(16,330,140,20));\r
a13899c5 538 jLabelDescription = new JLabel();\r
539 jLabelDescription.setText("Abstract");\r
410e0e9f 540 jLabelDescription.setBounds(new java.awt.Rectangle(16,220,140,20));\r
a13899c5 541 jLabelCopyright = new JLabel();\r
542 jLabelCopyright.setText("Copyright");\r
410e0e9f 543 jLabelCopyright.setBounds(new java.awt.Rectangle(15,86,140,20));\r
a13899c5 544 jLabelLicense = new JLabel();\r
545 jLabelLicense.setText("License");\r
410e0e9f 546 jLabelLicense.setBounds(new java.awt.Rectangle(16,110,140,20));\r
a13899c5 547 jLabelVersion = new JLabel();\r
548 jLabelVersion.setText("Version");\r
549 jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
550 jLabelGuid = new JLabel();\r
551 jLabelGuid.setPreferredSize(new java.awt.Dimension(25, 15));\r
552 jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
553 jLabelGuid.setText("Guid");\r
554 jLabelBaseName = new JLabel();\r
555 jLabelBaseName.setText("Package Name");\r
556 jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
557 jContentPane.add(jLabelBaseName, null);\r
558 jContentPane.add(getJTextFieldBaseName(), null);\r
559 jContentPane.add(jLabelGuid, null);\r
560 jContentPane.add(getJTextFieldGuid(), null);\r
561 jContentPane.add(jLabelVersion, null);\r
562 jContentPane.add(getJTextFieldVersion(), null);\r
563 jContentPane.add(getJButtonGenerateGuid(), null);\r
564 jContentPane.add(jLabelLicense, null);\r
565 jContentPane.add(jLabelCopyright, null);\r
566 jContentPane.add(jLabelDescription, null);\r
567 jContentPane.add(jLabelSpecification, null);\r
568 jContentPane.add(getJTextFieldSpecification(), null);\r
569 jContentPane.add(getJButtonOk(), null);\r
570 jContentPane.add(getJButtonCancel(), null);\r
571 jContentPane.add(getJScrollPaneLicense(), null);\r
572 jContentPane.add(getJScrollPaneDescription(), null);\r
573 jContentPane.add(jLabelAbstract, null);\r
574 jContentPane.add(getJTextFieldAbstract(), null);\r
575 jStarLabel1 = new StarLabel();\r
576 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
577 jStarLabel2 = new StarLabel();\r
578 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
579 jStarLabel3 = new StarLabel();\r
580 jStarLabel3.setLocation(new java.awt.Point(0, 60));\r
581 jStarLabel4 = new StarLabel();\r
410e0e9f 582 jStarLabel4.setLocation(new java.awt.Point(1,110));\r
a13899c5 583 jStarLabel5 = new StarLabel();\r
410e0e9f 584 jStarLabel5.setLocation(new java.awt.Point(0,86));\r
a13899c5 585 jStarLabel6 = new StarLabel();\r
410e0e9f 586 jStarLabel6.setLocation(new java.awt.Point(1,220));\r
a13899c5 587 jStarLabel7 = new StarLabel();\r
410e0e9f 588 jStarLabel7.setLocation(new java.awt.Point(1,330));\r
a13899c5 589 jStarLabel7.setEnabled(false);\r
590 jStarLabel9 = new StarLabel();\r
410e0e9f 591 jStarLabel9.setLocation(new java.awt.Point(1,245));\r
a13899c5 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(jStarLabel9, null);\r
600 jContentPane.add(getJTextFieldCopyright(), null);\r
601\r
602 jContentPane.add(jLabel, null);\r
603 jContentPane.add(getJTextField(), null);\r
604 }\r
605 return jContentPane;\r
606 }\r
607\r
608 /* (non-Javadoc)\r
609 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
610 *\r
611 * Override actionPerformed to listen all actions\r
612 *\r
613 */\r
614 public void actionPerformed(ActionEvent arg0) {\r
d6d24759 615 docConsole.setSaved(false);\r
a13899c5 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
624 //ToDo: invoke GuidValueEditor\r
625 jTextFieldGuid.setText(Tools.generateUuidString());\r
626 sfc.setSpdHdrGuidValue(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
642 Log.err("Base Name couldn't be empty");\r
643 return false;\r
644 }\r
645 if (isEmpty(this.jTextFieldGuid.getText())) {\r
646 Log.err("Guid couldn't be empty");\r
647 return false;\r
648 }\r
649 if (isEmpty(this.jTextFieldVersion.getText())) {\r
650 Log.err("Version couldn't be empty");\r
651 return false;\r
652 }\r
653 if (isEmpty(this.jTextAreaLicense.getText())) {\r
654 Log.err("License couldn't be empty");\r
655 return false;\r
656 }\r
657 if (isEmpty(this.jTextFieldCopyright.getText())) {\r
658 Log.err("Copyright couldn't be empty");\r
659 return false;\r
660 }\r
661 if (isEmpty(this.jTextAreaDescription.getText())) {\r
662 Log.err("Description couldn't be empty");\r
663 return false;\r
664 }\r
665 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
666 Log.err("Abstract couldn't be empty");\r
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
674 Log.err("Incorrect data type for Base Name");\r
675 return false;\r
676 }\r
677 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
678 Log.err("Incorrect data type for Guid");\r
679 return false;\r
680 }\r
681 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
682 Log.err("Incorrect data type for Abstract");\r
683 return false;\r
684 }\r
685 if (!DataValidation.isCopyright(this.jTextFieldCopyright.getText())) {\r
686 Log.err("Incorrect data type for Copyright");\r
687 return false;\r
688 }\r
689 return true;\r
690 }\r
691\r
692 /**\r
693 Save all components of Spd Header\r
694 if exists spdHeader, set the value directly\r
695 if not exists spdHeader, new an instance first\r
696 \r
697 **/\r
698 public void save() {\r
699 try {\r
700 \r
701 } catch (Exception e) {\r
702 Log.err("Save Package", e.getMessage());\r
703 }\r
704 }\r
705\r
706 /**\r
707 This method initializes Package type and Compontent type\r
708 \r
709 **/\r
710 private void initFrame() {\r
711 \r
712 }\r
713\r
714 /* (non-Javadoc)\r
715 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
716 * \r
717 * Override componentResized to resize all components when frame's size is changed\r
718 */\r
719 public void componentResized(ComponentEvent arg0) {\r
720 int intPreferredWidth = 500;\r
721 int intCurrentWidth = this.getJContentPane().getWidth();\r
722 \r
723 resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth,intPreferredWidth);\r
724 resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth,intPreferredWidth);\r
725 resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth,intPreferredWidth);\r
ce73a791 726 resizeComponentWidth(this.jTextField, intCurrentWidth,intPreferredWidth);\r
a13899c5 727 resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth,intPreferredWidth);\r
728 resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth,intPreferredWidth);\r
729 resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth,intPreferredWidth);\r
730 resizeComponentWidth(this.jTextFieldSpecification, intCurrentWidth,intPreferredWidth);\r
731 resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth,intPreferredWidth);\r
732 relocateComponentX(this.jButtonGenerateGuid, intCurrentWidth, jButtonGenerateGuid.getWidth(),30);\r
733 }\r
734\r
735 private JScrollPane getTopScrollPane() {\r
736 if (topScrollPane == null){\r
737 topScrollPane = new JScrollPane();\r
738 topScrollPane.setViewportView(getJContentPane());\r
739 }\r
740 return topScrollPane;\r
741 }\r
742}\r