]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java
Fixes for Linux builds.
[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
a13899c5 506 }\r
507\r
508 /**\r
509 This method initializes jContentPane\r
510 \r
511 @return javax.swing.JPanel jContentPane\r
512 \r
513 **/\r
514 private JPanel getJContentPane() {\r
515 if (jContentPane == null) {\r
516 jLabel = new JLabel();\r
410e0e9f 517 jLabel.setBounds(new java.awt.Rectangle(16,195,140,20));\r
a13899c5 518 jLabel.setText("URL");\r
519 jContentPane = new JPanel();\r
520 jContentPane.setLayout(null);\r
521 jContentPane.setLocation(new java.awt.Point(0, 0));\r
522 jContentPane.setPreferredSize(new java.awt.Dimension(500, 524));\r
523 jLabelAbstract = new JLabel();\r
410e0e9f 524 jLabelAbstract.setBounds(new java.awt.Rectangle(16,245,140,20));\r
a13899c5 525 jLabelAbstract.setText("Description");\r
526 jLabelSpecification = new JLabel();\r
527 jLabelSpecification.setText("Specification");\r
410e0e9f 528 jLabelSpecification.setBounds(new java.awt.Rectangle(16,330,140,20));\r
a13899c5 529 jLabelDescription = new JLabel();\r
530 jLabelDescription.setText("Abstract");\r
410e0e9f 531 jLabelDescription.setBounds(new java.awt.Rectangle(16,220,140,20));\r
a13899c5 532 jLabelCopyright = new JLabel();\r
533 jLabelCopyright.setText("Copyright");\r
410e0e9f 534 jLabelCopyright.setBounds(new java.awt.Rectangle(15,86,140,20));\r
a13899c5 535 jLabelLicense = new JLabel();\r
536 jLabelLicense.setText("License");\r
410e0e9f 537 jLabelLicense.setBounds(new java.awt.Rectangle(16,110,140,20));\r
a13899c5 538 jLabelVersion = new JLabel();\r
539 jLabelVersion.setText("Version");\r
540 jLabelVersion.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
541 jLabelGuid = new JLabel();\r
542 jLabelGuid.setPreferredSize(new java.awt.Dimension(25, 15));\r
543 jLabelGuid.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
544 jLabelGuid.setText("Guid");\r
545 jLabelBaseName = new JLabel();\r
546 jLabelBaseName.setText("Package Name");\r
547 jLabelBaseName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
548 jContentPane.add(jLabelBaseName, null);\r
549 jContentPane.add(getJTextFieldBaseName(), null);\r
550 jContentPane.add(jLabelGuid, null);\r
551 jContentPane.add(getJTextFieldGuid(), null);\r
552 jContentPane.add(jLabelVersion, null);\r
553 jContentPane.add(getJTextFieldVersion(), null);\r
554 jContentPane.add(getJButtonGenerateGuid(), null);\r
555 jContentPane.add(jLabelLicense, null);\r
556 jContentPane.add(jLabelCopyright, null);\r
557 jContentPane.add(jLabelDescription, null);\r
558 jContentPane.add(jLabelSpecification, null);\r
559 jContentPane.add(getJTextFieldSpecification(), null);\r
560 jContentPane.add(getJButtonOk(), null);\r
561 jContentPane.add(getJButtonCancel(), null);\r
562 jContentPane.add(getJScrollPaneLicense(), null);\r
563 jContentPane.add(getJScrollPaneDescription(), null);\r
564 jContentPane.add(jLabelAbstract, null);\r
565 jContentPane.add(getJTextFieldAbstract(), null);\r
566 jStarLabel1 = new StarLabel();\r
567 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
568 jStarLabel2 = new StarLabel();\r
569 jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
570 jStarLabel3 = new StarLabel();\r
571 jStarLabel3.setLocation(new java.awt.Point(0, 60));\r
572 jStarLabel4 = new StarLabel();\r
410e0e9f 573 jStarLabel4.setLocation(new java.awt.Point(1,110));\r
a13899c5 574 jStarLabel5 = new StarLabel();\r
410e0e9f 575 jStarLabel5.setLocation(new java.awt.Point(0,86));\r
a13899c5 576 jStarLabel6 = new StarLabel();\r
410e0e9f 577 jStarLabel6.setLocation(new java.awt.Point(1,220));\r
a13899c5 578 jStarLabel7 = new StarLabel();\r
410e0e9f 579 jStarLabel7.setLocation(new java.awt.Point(1,330));\r
a13899c5 580 jStarLabel7.setEnabled(false);\r
581 jStarLabel9 = new StarLabel();\r
410e0e9f 582 jStarLabel9.setLocation(new java.awt.Point(1,245));\r
a13899c5 583 jContentPane.add(jStarLabel1, null);\r
584 jContentPane.add(jStarLabel2, null);\r
585 jContentPane.add(jStarLabel3, null);\r
586 jContentPane.add(jStarLabel4, null);\r
587 jContentPane.add(jStarLabel5, null);\r
588 jContentPane.add(jStarLabel6, null);\r
589 jContentPane.add(jStarLabel7, null);\r
590 jContentPane.add(jStarLabel9, null);\r
591 jContentPane.add(getJTextFieldCopyright(), null);\r
592\r
593 jContentPane.add(jLabel, null);\r
594 jContentPane.add(getJTextField(), null);\r
595 }\r
596 return jContentPane;\r
597 }\r
598\r
599 /* (non-Javadoc)\r
600 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
601 *\r
602 * Override actionPerformed to listen all actions\r
603 *\r
604 */\r
605 public void actionPerformed(ActionEvent arg0) {\r
d6d24759 606 docConsole.setSaved(false);\r
a13899c5 607 if (arg0.getSource() == jButtonOk) {\r
608 this.save();\r
609 this.setEdited(true);\r
610 }\r
611 if (arg0.getSource() == jButtonCancel) {\r
612 this.setEdited(false);\r
613 }\r
614 if (arg0.getSource() == jButtonGenerateGuid) {\r
615 //ToDo: invoke GuidValueEditor\r
616 jTextFieldGuid.setText(Tools.generateUuidString());\r
617 sfc.setSpdHdrGuidValue(jTextFieldGuid.getText());\r
618 }\r
619 }\r
620\r
621 /**\r
622 Data validation for all fields\r
623 \r
624 @retval true - All datas are valid\r
625 @retval false - At least one data is invalid\r
626 \r
627 **/\r
628 public boolean check() {\r
629 //\r
630 // Check if all required fields are not empty\r
631 //\r
632 if (isEmpty(this.jTextFieldBaseName.getText())) {\r
633 Log.err("Base Name couldn't be empty");\r
634 return false;\r
635 }\r
636 if (isEmpty(this.jTextFieldGuid.getText())) {\r
637 Log.err("Guid couldn't be empty");\r
638 return false;\r
639 }\r
640 if (isEmpty(this.jTextFieldVersion.getText())) {\r
641 Log.err("Version couldn't be empty");\r
642 return false;\r
643 }\r
644 if (isEmpty(this.jTextAreaLicense.getText())) {\r
645 Log.err("License couldn't be empty");\r
646 return false;\r
647 }\r
648 if (isEmpty(this.jTextFieldCopyright.getText())) {\r
649 Log.err("Copyright couldn't be empty");\r
650 return false;\r
651 }\r
652 if (isEmpty(this.jTextAreaDescription.getText())) {\r
653 Log.err("Description couldn't be empty");\r
654 return false;\r
655 }\r
656 if (isEmpty(this.jTextFieldAbstract.getText())) {\r
657 Log.err("Abstract couldn't be empty");\r
658 return false;\r
659 }\r
660\r
661 //\r
662 // Check if all fields have correct data types \r
663 //\r
664 if (!DataValidation.isBaseName(this.jTextFieldBaseName.getText())) {\r
665 Log.err("Incorrect data type for Base Name");\r
666 return false;\r
667 }\r
668 if (!DataValidation.isGuid((this.jTextFieldGuid).getText())) {\r
669 Log.err("Incorrect data type for Guid");\r
670 return false;\r
671 }\r
672 if (!DataValidation.isAbstract(this.jTextFieldAbstract.getText())) {\r
673 Log.err("Incorrect data type for Abstract");\r
674 return false;\r
675 }\r
676 if (!DataValidation.isCopyright(this.jTextFieldCopyright.getText())) {\r
677 Log.err("Incorrect data type for Copyright");\r
678 return false;\r
679 }\r
680 return true;\r
681 }\r
682\r
683 /**\r
684 Save all components of Spd Header\r
685 if exists spdHeader, set the value directly\r
686 if not exists spdHeader, new an instance first\r
687 \r
688 **/\r
689 public void save() {\r
690 try {\r
691 \r
692 } catch (Exception e) {\r
693 Log.err("Save Package", e.getMessage());\r
694 }\r
695 }\r
696\r
697 /**\r
698 This method initializes Package type and Compontent type\r
699 \r
700 **/\r
701 private void initFrame() {\r
702 \r
703 }\r
704\r
705 /* (non-Javadoc)\r
706 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
707 * \r
708 * Override componentResized to resize all components when frame's size is changed\r
709 */\r
710 public void componentResized(ComponentEvent arg0) {\r
711 int intPreferredWidth = 500;\r
712 int intCurrentWidth = this.getJContentPane().getWidth();\r
713 \r
714 resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth,intPreferredWidth);\r
715 resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth,intPreferredWidth);\r
716 resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth,intPreferredWidth);\r
ce73a791 717 resizeComponentWidth(this.jTextField, intCurrentWidth,intPreferredWidth);\r
a13899c5 718 resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth,intPreferredWidth);\r
719 resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth,intPreferredWidth);\r
720 resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth,intPreferredWidth);\r
721 resizeComponentWidth(this.jTextFieldSpecification, intCurrentWidth,intPreferredWidth);\r
722 resizeComponentWidth(this.jTextFieldAbstract, intCurrentWidth,intPreferredWidth);\r
723 relocateComponentX(this.jButtonGenerateGuid, intCurrentWidth, jButtonGenerateGuid.getWidth(),30);\r
724 }\r
725\r
726 private JScrollPane getTopScrollPane() {\r
727 if (topScrollPane == null){\r
728 topScrollPane = new JScrollPane();\r
729 topScrollPane.setViewportView(getJContentPane());\r
730 }\r
731 return topScrollPane;\r
732 }\r
733}\r