]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java
a. Add support arch. filter for library instance selection in FPD file.
[mirror_edk2.git] / Tools / Java / 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
a13899c5 34import org.tianocore.frameworkwizard.common.Tools;\r
d6d24759 35import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
a13899c5 36import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
37import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
3c0192d4 38import javax.swing.JCheckBox;\r
a13899c5 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
07e741e0 49 private int dialogWidth = 560;\r
50\r
51 private int labelColumn = 12;\r
52\r
53 private int labelWidth = 155;\r
54\r
55 private int buttonWidth = 60;\r
56\r
57 private final int valueColumn = 168;\r
58\r
59 private final int valueWidth = 320;\r
60 \r
61 private final int specWidth = 420;\r
62 \r
63 private int shortValueWidth = valueWidth - (buttonWidth + 5);\r
64\r
65 private final int oneRowHeight = 20;\r
66\r
67 private final int threeRowHeight = 60;\r
68\r
69 private final int fourRowHeight = 80;\r
70\r
71 private final int rowSep = 5;\r
72\r
73 private final int rowOne = 12;\r
74\r
75 private final int rowTwo = rowOne + oneRowHeight + rowSep;\r
76\r
77 private final int rowThree = rowTwo + oneRowHeight + rowSep;\r
78\r
79 private final int rowFour = rowThree + oneRowHeight + rowSep;\r
80\r
81 private final int rowFive = rowFour + threeRowHeight + rowSep;\r
82\r
83 private final int rowSix = rowFive + fourRowHeight + rowSep;\r
84\r
85 private final int rowSeven = rowSix + oneRowHeight + rowSep;\r
86\r
87 private final int rowEight = rowSeven + oneRowHeight + rowSep;\r
88\r
89 private final int rowNine = rowEight + fourRowHeight + rowSep;\r
90\r
91 private final int rowTen = rowNine + oneRowHeight + rowSep;\r
92\r
93 private int dialogHeight = rowTen + threeRowHeight;\r
94\r
a13899c5 95 ///\r
96 /// Define class Serial Version UID\r
97 ///\r
98 private static final long serialVersionUID = -8152099582923006900L;\r
99\r
100 //\r
101 //Define class members\r
102 //\r
ce73a791 103 static JFrame frame;\r
07e741e0 104\r
a13899c5 105 private JPanel jContentPane = null;\r
106\r
07e741e0 107 private JLabel jPackageNameLabel = null;\r
a13899c5 108\r
07e741e0 109 private JTextField jPackageNameTextField = null;\r
a13899c5 110\r
07e741e0 111 private JLabel jGuidLabel = null;\r
a13899c5 112\r
07e741e0 113 private JTextField jGuidTextField = null;\r
a13899c5 114\r
07e741e0 115 private JLabel jVersionLabel = null;\r
a13899c5 116\r
07e741e0 117 private JTextField jVersionTextField = null;\r
a13899c5 118\r
07e741e0 119 private JButton jGenerateGuidButton = null;\r
a13899c5 120\r
07e741e0 121 private JLabel jLicenseLabel = null;\r
a13899c5 122\r
07e741e0 123 private JTextArea jLicenseTextArea = null;\r
a13899c5 124\r
125 private JLabel jLabelCopyright = null;\r
126\r
07e741e0 127 private JLabel jDescriptionLabel = null;\r
a13899c5 128\r
07e741e0 129 private JTextArea jDescriptionTextArea = null;\r
a13899c5 130\r
07e741e0 131 private JTextField jSpecificationTextField = null;\r
a13899c5 132\r
07e741e0 133 private JScrollPane jLicenseScrollPane = null;\r
a13899c5 134\r
07e741e0 135 private JScrollPane jDescriptionScrollPane = null;\r
136 \r
137 private JScrollPane jCopyrightScrollPane = null;\r
a13899c5 138\r
07e741e0 139 private JLabel jAbstractLabel = null;\r
a13899c5 140\r
07e741e0 141 private JTextField jAbstractTextField = null;\r
a13899c5 142\r
143 private StarLabel jStarLabel1 = null;\r
144\r
145 private StarLabel jStarLabel2 = null;\r
146\r
147 private StarLabel jStarLabel3 = null;\r
148\r
149 private StarLabel jStarLabel4 = null;\r
150\r
151 private StarLabel jStarLabel5 = null;\r
152\r
153 private StarLabel jStarLabel6 = null;\r
154\r
155 private StarLabel jStarLabel7 = null;\r
07e741e0 156 \r
157 private StarLabel jStarLabel8 = null;\r
a13899c5 158\r
159 private StarLabel jStarLabel9 = null;\r
07e741e0 160\r
a13899c5 161 private SpdFileContents sfc = null;\r
162\r
07e741e0 163 private OpeningPackageType docConsole = null;\r
a13899c5 164\r
07e741e0 165 private JTextArea jCopyrightTextArea = null;\r
a13899c5 166\r
07e741e0 167 private JScrollPane topScrollPane = null;\r
a13899c5 168\r
07e741e0 169 private JLabel jUrlLabel = null;\r
3c0192d4 170\r
07e741e0 171 private JTextField jUrlTextField = null;\r
3c0192d4 172\r
173 private JCheckBox jCheckBoxRdOnly = null;\r
174\r
175 private JCheckBox jCheckBoxRePkg = null;\r
176\r
a13899c5 177 /**\r
07e741e0 178 This method initializes jPackageNameTextField \r
a13899c5 179 \r
07e741e0 180 @return javax.swing.JTextField jPackageNameTextField\r
a13899c5 181 \r
182 **/\r
07e741e0 183 private JTextField getJPackageNameTextField() {\r
184 if (jPackageNameTextField == null) {\r
185 jPackageNameTextField = new JTextField();\r
186 jPackageNameTextField.setBounds(new java.awt.Rectangle(valueColumn, rowOne, valueWidth, oneRowHeight));\r
187 jPackageNameTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
188 jPackageNameTextField.addFocusListener(new FocusAdapter() {\r
189 public void focusLost(FocusEvent e) {\r
190 if (!DataValidation.isUiNameType(jPackageNameTextField.getText())) {\r
191 JOptionPane.showMessageDialog(frame, "Package Name must start with a letter.");\r
ce73a791 192 return;\r
193 }\r
07e741e0 194 if (jPackageNameTextField.getText().equals(sfc.getSpdHdrPkgName())) {\r
a490bca8 195 return;\r
196 }\r
d6d24759 197 docConsole.setSaved(false);\r
07e741e0 198 sfc.setSpdHdrPkgName(jPackageNameTextField.getText());\r
a13899c5 199 }\r
200 });\r
201 }\r
07e741e0 202 return jPackageNameTextField;\r
a13899c5 203 }\r
204\r
205 /**\r
07e741e0 206 This method initializes jGuidTextField \r
a13899c5 207 \r
07e741e0 208 @return javax.swing.JTextField jGuidTextField\r
a13899c5 209 \r
210 **/\r
07e741e0 211 private JTextField getJGuidTextField() {\r
212 if (jGuidTextField == null) {\r
213 jGuidTextField = new JTextField();\r
214 jGuidTextField.setBounds(new java.awt.Rectangle(valueColumn, rowTwo, shortValueWidth, oneRowHeight));\r
215 jGuidTextField.setPreferredSize(new java.awt.Dimension(shortValueWidth, oneRowHeight));\r
216 jGuidTextField.addFocusListener(new FocusAdapter() {\r
217 public void focusLost(FocusEvent e) {\r
218 if (!DataValidation.isGuid(jGuidTextField.getText())) {\r
219 JOptionPane.showMessageDialog(frame, "Guid must be in registry (8-4-4-4-12) format.");\r
ce73a791 220 return;\r
221 }\r
07e741e0 222 if (jGuidTextField.getText().equals(sfc.getSpdHdrGuidValue())) {\r
a490bca8 223 return;\r
224 }\r
d6d24759 225 docConsole.setSaved(false);\r
07e741e0 226 sfc.setSpdHdrGuidValue(jGuidTextField.getText());\r
a13899c5 227 }\r
228 });\r
229 }\r
07e741e0 230 return jGuidTextField;\r
a13899c5 231 }\r
232\r
233 /**\r
07e741e0 234 This method initializes jVersionTextField \r
a13899c5 235 \r
07e741e0 236 @return javax.swing.JTextField jVersionTextField\r
a13899c5 237 \r
238 **/\r
07e741e0 239 private JTextField getJVersionTextField() {\r
240 if (jVersionTextField == null) {\r
241 jVersionTextField = new JTextField();\r
242 jVersionTextField.setBounds(new java.awt.Rectangle(valueColumn, rowThree, valueWidth, oneRowHeight));\r
243 jVersionTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
244 jVersionTextField.addFocusListener(new FocusAdapter() {\r
245 public void focusLost(FocusEvent e) {\r
246 if (!DataValidation.isVersion(jVersionTextField.getText())) {\r
247 JOptionPane.showMessageDialog(frame, "Version must start with a number.");\r
248 return;\r
249 }\r
250 if (jVersionTextField.getText().equals(sfc.getSpdHdrVer())) {\r
251 return;\r
252 }\r
253 docConsole.setSaved(false);\r
254 sfc.setSpdHdrVer(jVersionTextField.getText());\r
255 }\r
a13899c5 256 });\r
257 }\r
07e741e0 258 return jVersionTextField;\r
a13899c5 259 }\r
260\r
261 /**\r
07e741e0 262 This method initializes jGenerateGuidButton \r
a13899c5 263 \r
07e741e0 264 @return javax.swing.JButton jGenerateGuidButton\r
a13899c5 265 \r
266 **/\r
07e741e0 267 private JButton getJGenerateGuidButton() {\r
268 if (jGenerateGuidButton == null) {\r
269 jGenerateGuidButton = new JButton();\r
270 jGenerateGuidButton.setBounds(new java.awt.Rectangle(valueColumn + shortValueWidth + 5, rowTwo, buttonWidth, oneRowHeight));\r
271 jGenerateGuidButton.setText("GEN");\r
272 jGenerateGuidButton.addActionListener(this);\r
a13899c5 273 }\r
07e741e0 274 return jGenerateGuidButton;\r
a13899c5 275 }\r
276\r
277 /**\r
07e741e0 278 This method initializes jLicenseTextArea \r
a13899c5 279 \r
07e741e0 280 @return javax.swing.JTextArea jLicenseTextArea\r
a13899c5 281 \r
282 **/\r
07e741e0 283 private JTextArea getJLicenseTextArea() {\r
284 if (jLicenseTextArea == null) {\r
285 jLicenseTextArea = new JTextArea();\r
286 // jLicenseTextArea.setText("");\r
287 jLicenseTextArea.setLineWrap(true);\r
288 jLicenseTextArea.addFocusListener(new FocusAdapter() {\r
289 public void focusLost(FocusEvent e) {\r
290 if (jLicenseTextArea.getText().length() == 0) {\r
291 JOptionPane.showMessageDialog(frame, "License is a required field.");\r
ce73a791 292 return;\r
293 }\r
07e741e0 294 if (jLicenseTextArea.getText().equals(sfc.getSpdHdrLicense())) {\r
a490bca8 295 return;\r
296 }\r
d6d24759 297 docConsole.setSaved(false);\r
07e741e0 298 sfc.setSpdHdrLicense(jLicenseTextArea.getText());\r
a13899c5 299 }\r
300 });\r
301 }\r
07e741e0 302 return jLicenseTextArea;\r
a13899c5 303 }\r
304\r
305 /**\r
07e741e0 306 This method initializes jDescriptionTextArea \r
a13899c5 307 \r
07e741e0 308 @return javax.swing.JTextArea jDescriptionTextArea\r
a13899c5 309 \r
310 **/\r
07e741e0 311 private JTextArea getJDescriptionTextArea() {\r
312 if (jDescriptionTextArea == null) {\r
313 jDescriptionTextArea = new JTextArea();\r
314 jDescriptionTextArea.setLineWrap(true);\r
315 jDescriptionTextArea.addFocusListener(new FocusAdapter() {\r
316 public void focusLost(FocusEvent e) {\r
317 if (jDescriptionTextArea.getText().length() == 0) {\r
318 JOptionPane\r
319 .showMessageDialog(frame,\r
320 "Description is a required field, and should reflect the contents of the package.");\r
ce73a791 321 return;\r
322 }\r
07e741e0 323 if (jDescriptionTextArea.getText().equals(sfc.getSpdHdrDescription())) {\r
a490bca8 324 return;\r
325 }\r
d6d24759 326 docConsole.setSaved(false);\r
07e741e0 327 sfc.setSpdHdrDescription(jDescriptionTextArea.getText());\r
a13899c5 328 }\r
329 });\r
330 }\r
07e741e0 331 return jDescriptionTextArea;\r
a13899c5 332 }\r
333\r
334 /**\r
07e741e0 335 This method initializes jSpecificationTextField \r
a13899c5 336 \r
07e741e0 337 @return javax.swing.JTextField jSpecificationTextField\r
a13899c5 338 \r
339 **/\r
07e741e0 340 private JTextField getJSpecificationTextField() {\r
341 if (jSpecificationTextField == null) {\r
342 jSpecificationTextField = new JTextField();\r
343 jSpecificationTextField.setBounds(new java.awt.Rectangle(labelColumn, dialogHeight - 40, specWidth, oneRowHeight));\r
344 jSpecificationTextField.setEditable(false);\r
345 jSpecificationTextField.setPreferredSize(new java.awt.Dimension(specWidth, oneRowHeight));\r
346 jSpecificationTextField.setLocation(new java.awt.Point(2, dialogHeight - oneRowHeight));\r
347 jSpecificationTextField.setBorder(null);\r
348\r
349 // jSpecificationTextField.addFocusListener(new FocusAdapter(){\r
350 // public void focusLost(FocusEvent e){\r
351 // sfc.setSpdHdrSpec(jSpecificationTextField.getText());\r
352 // }\r
353 // });\r
a13899c5 354 }\r
07e741e0 355 return jSpecificationTextField;\r
a13899c5 356 }\r
357\r
a13899c5 358 /**\r
07e741e0 359 This method initializes jLicenseScrollPane \r
a13899c5 360 \r
07e741e0 361 @return javax.swing.JScrollPane jLicenseScrollPane\r
a13899c5 362 \r
363 **/\r
07e741e0 364 private JScrollPane getJLicenseScrollPane() {\r
365 if (jLicenseScrollPane == null) {\r
366 jLicenseScrollPane = new JScrollPane();\r
367 jLicenseScrollPane.setBounds(new java.awt.Rectangle(valueColumn, rowFive, valueWidth, fourRowHeight));\r
368 jLicenseScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
369 jLicenseScrollPane.setPreferredSize(new java.awt.Dimension(valueWidth, fourRowHeight));\r
370 jLicenseScrollPane.setViewportView(getJLicenseTextArea());\r
a13899c5 371 }\r
07e741e0 372 return jLicenseScrollPane;\r
a13899c5 373 }\r
374\r
375 /**\r
07e741e0 376 This method initializes jDescriptionScrollPane \r
a13899c5 377 \r
07e741e0 378 @return javax.swing.JScrollPane jDescriptionScrollPane\r
a13899c5 379 \r
380 **/\r
07e741e0 381 private JScrollPane getJDescriptionScrollPane() {\r
382 if (jDescriptionScrollPane == null) {\r
383 jDescriptionScrollPane = new JScrollPane();\r
384 jDescriptionScrollPane.setBounds(new java.awt.Rectangle(valueColumn, rowEight, valueWidth, fourRowHeight));\r
385 jDescriptionScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
386 jDescriptionScrollPane.setPreferredSize(new java.awt.Dimension(valueWidth, fourRowHeight));\r
387 jDescriptionScrollPane.setViewportView(getJDescriptionTextArea());\r
a13899c5 388 }\r
07e741e0 389 return jDescriptionScrollPane;\r
a13899c5 390 }\r
391\r
392 /**\r
07e741e0 393 This method initializes jAbstractTextField \r
a13899c5 394 \r
07e741e0 395 @return javax.swing.JTextField jAbstractTextField\r
a13899c5 396 \r
397 **/\r
07e741e0 398 private JTextField getJAbstractTextField() {\r
399 if (jAbstractTextField == null) {\r
400 jAbstractTextField = new JTextField();\r
401 jAbstractTextField.setBounds(new java.awt.Rectangle(valueColumn, rowSeven, valueWidth, oneRowHeight));\r
402 jAbstractTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
403 jAbstractTextField.addFocusListener(new FocusAdapter() {\r
404 public void focusLost(FocusEvent e) {\r
405 if (!DataValidation.isAbstract(jAbstractTextField.getText())) {\r
ce73a791 406 JOptionPane.showMessageDialog(frame, "Abstract could NOT be empty.");\r
407 return;\r
408 }\r
07e741e0 409 if (jAbstractTextField.getText().equals(sfc.getSpdHdrAbs())) {\r
a490bca8 410 return;\r
411 }\r
d6d24759 412 docConsole.setSaved(false);\r
07e741e0 413 sfc.setSpdHdrAbs(jAbstractTextField.getText());\r
a13899c5 414 }\r
415 });\r
416 }\r
07e741e0 417 return jAbstractTextField;\r
a13899c5 418 }\r
419\r
07e741e0 420 private JScrollPane getCopyrightScrollPane() {\r
421 if (jCopyrightScrollPane == null) {\r
422 jCopyrightScrollPane = new JScrollPane();\r
423 jCopyrightScrollPane.setBounds(new java.awt.Rectangle(valueColumn, rowFour, valueWidth, threeRowHeight));\r
424 jCopyrightScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
425 jCopyrightScrollPane.setPreferredSize(new java.awt.Dimension(valueWidth, threeRowHeight));\r
426 jCopyrightScrollPane.setViewportView(getJCopyrightTextArea());\r
427 }\r
428 return jCopyrightScrollPane;\r
429 }\r
a13899c5 430 /**\r
07e741e0 431 This method initializes jTextFieldCopyright \r
432 \r
433 @return javax.swing.JTextField jTextFieldCopyright\r
a13899c5 434 \r
435 **/\r
07e741e0 436 private JTextArea getJCopyrightTextArea() {\r
437 if (jCopyrightTextArea == null) {\r
438 jCopyrightTextArea = new JTextArea();\r
439 jCopyrightTextArea.setWrapStyleWord(true);\r
50d4c727 440 jCopyrightTextArea.setLineWrap(true);\r
07e741e0 441 jCopyrightTextArea.addFocusListener(new FocusAdapter() {\r
442 public void focusLost(FocusEvent e) {\r
443 if (!DataValidation.isCopyright(jCopyrightTextArea.getText())) {\r
444 JOptionPane.showMessageDialog(frame, "Copyright must be entered.");\r
445 return;\r
446 }\r
447 if (jCopyrightTextArea.getText().equals(sfc.getSpdHdrCopyright())) {\r
448 return;\r
449 }\r
450 docConsole.setSaved(false);\r
451 sfc.setSpdHdrCopyright(jCopyrightTextArea.getText());\r
452 }\r
a13899c5 453 });\r
454 }\r
07e741e0 455 return jCopyrightTextArea;\r
a13899c5 456 }\r
457\r
458 /**\r
459 * This method initializes jTextField \r
460 * \r
461 * @return javax.swing.JTextField \r
462 */\r
07e741e0 463 private JTextField getJUrlTextField() {\r
464 if (jUrlTextField == null) {\r
465 jUrlTextField = new JTextField();\r
466 jUrlTextField.setBounds(new java.awt.Rectangle(valueColumn, rowSix, valueWidth, oneRowHeight));\r
467 jUrlTextField.setPreferredSize(new java.awt.Dimension(valueWidth, oneRowHeight));\r
468 jUrlTextField.addFocusListener(new FocusAdapter() {\r
469 public void focusLost(FocusEvent e) {\r
470 if (jUrlTextField.getText().length() == 0 && sfc.getSpdHdrUrl() == null) {\r
471 return;\r
472 }\r
473 if (jUrlTextField.getText().equals(sfc.getSpdHdrUrl())) {\r
474 return;\r
475 }\r
476 sfc.setSpdHdrLicense(jLicenseTextArea.getText());\r
477 sfc.setSpdHdrUrl(jUrlTextField.getText());\r
478 docConsole.setSaved(false);\r
479 }\r
a13899c5 480 });\r
481 }\r
07e741e0 482 return jUrlTextField;\r
a13899c5 483 }\r
484\r
3c0192d4 485 /**\r
486 * This method initializes jCheckBoxRdOnly \r
487 * \r
488 * @return javax.swing.JCheckBox \r
489 */\r
490 private JCheckBox getJCheckBoxRdOnly() {\r
491 if (jCheckBoxRdOnly == null) {\r
492 jCheckBoxRdOnly = new JCheckBox();\r
493 jCheckBoxRdOnly.setText("Read Only");\r
07e741e0 494 jCheckBoxRdOnly.setLocation(new java.awt.Point(labelColumn, rowNine));\r
495 jCheckBoxRdOnly.setSize(new java.awt.Dimension(labelWidth, oneRowHeight));\r
496 // jCheckBoxRdOnly.setPreferredSize(new java.awt.Dimension(150, oneRowHeight));\r
3c0192d4 497 jCheckBoxRdOnly.addItemListener(new java.awt.event.ItemListener() {\r
498 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
499 if (docConsole != null) {\r
500 docConsole.setSaved(false);\r
501 }\r
07e741e0 502 sfc.setSpdPkgDefsRdOnly(jCheckBoxRdOnly.isSelected() + "");\r
3c0192d4 503 }\r
504 });\r
505 }\r
506 return jCheckBoxRdOnly;\r
507 }\r
508\r
509 /**\r
510 * This method initializes jCheckBoxRePkg \r
511 * \r
512 * @return javax.swing.JCheckBox \r
513 */\r
514 private JCheckBox getJCheckBoxRePkg() {\r
515 if (jCheckBoxRePkg == null) {\r
516 jCheckBoxRePkg = new JCheckBox();\r
07e741e0 517 jCheckBoxRePkg.setLocation(new java.awt.Point(labelColumn, rowTen));\r
3c0192d4 518 jCheckBoxRePkg.setText("RePackagable");\r
07e741e0 519 jCheckBoxRePkg.setSize(new java.awt.Dimension(labelWidth, oneRowHeight));\r
3c0192d4 520 jCheckBoxRePkg.addItemListener(new java.awt.event.ItemListener() {\r
521 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
522 if (docConsole != null) {\r
523 docConsole.setSaved(false);\r
524 }\r
07e741e0 525 sfc.setSpdPkgDefsRePkg(jCheckBoxRePkg.isSelected() + "");\r
3c0192d4 526 }\r
527 });\r
528 }\r
529 return jCheckBoxRePkg;\r
530 }\r
531\r
a13899c5 532 public static void main(String[] args) {\r
533 new SpdHeader().setVisible(true);\r
534 }\r
535\r
536 /**\r
537 This is the default constructor\r
538 \r
539 **/\r
540 public SpdHeader() {\r
541 super();\r
542 init();\r
543 this.setVisible(true);\r
544 }\r
545\r
546 /**\r
547 This is the override edit constructor\r
548 \r
549 @param inspdHeader The input data of spdHeaderDocument.spdHeader\r
550 \r
551 **/\r
552 public SpdHeader(PackageSurfaceAreaDocument.PackageSurfaceArea inPsa) {\r
553 this();\r
554 sfc = new SpdFileContents(inPsa);\r
555 init(sfc);\r
556 }\r
07e741e0 557\r
558 public SpdHeader(OpeningPackageType opt) {\r
d6d24759 559 this(opt.getXmlSpd());\r
560 docConsole = opt;\r
561 }\r
07e741e0 562\r
a13899c5 563 /**\r
564 This method initializes this\r
565 \r
566 **/\r
567 private void init() {\r
568 this.setContentPane(getTopScrollPane());\r
569 this.setTitle("Package Surface Area Header");\r
570 initFrame();\r
571 }\r
572\r
573 /**\r
574 This method initializes this\r
575 Fill values to all fields if these values are not empty\r
576 \r
577 @param inspdHeader The input data of spdHeaderDocument.spdHeader\r
578 \r
579 **/\r
580 private void init(SpdFileContents sfc) {\r
07e741e0 581 if (sfc.getSpdHdrPkgName() != null) {\r
582 jPackageNameTextField.setText(sfc.getSpdHdrPkgName());\r
583 }\r
584 if (sfc.getSpdHdrGuidValue() != null) {\r
585 jGuidTextField.setText(sfc.getSpdHdrGuidValue());\r
586 }\r
587 if (sfc.getSpdHdrVer() != null) {\r
588 jVersionTextField.setText(sfc.getSpdHdrVer());\r
589 }\r
590 if (sfc.getSpdHdrLicense() != null) {\r
591 jLicenseTextArea.setText(sfc.getSpdHdrLicense());\r
592 }\r
593 if (sfc.getSpdHdrUrl() != null) {\r
594 jUrlTextField.setText(sfc.getSpdHdrUrl());\r
595 }\r
596 if (sfc.getSpdHdrCopyright() != null) {\r
597 jCopyrightTextArea.setText(sfc.getSpdHdrCopyright());\r
598 }\r
599 if (sfc.getSpdHdrAbs() != null) {\r
600 jAbstractTextField.setText(sfc.getSpdHdrAbs());\r
601 }\r
602 if (sfc.getSpdHdrDescription() != null) {\r
603 jDescriptionTextArea.setText(sfc.getSpdHdrDescription());\r
604 }\r
605 if (sfc.getSpdHdrSpec() != null) {\r
606 jSpecificationTextField.setText(sfc.getSpdHdrSpec());\r
607 }\r
608 sfc.setSpdHdrSpec(jSpecificationTextField.getText());\r
609\r
610 if (!sfc.getSpdPkgDefsRdOnly().equals("true")) {\r
611 sfc.setSpdPkgDefsRdOnly("false");\r
612 jCheckBoxRdOnly.setSelected(false);\r
613 } else {\r
614 jCheckBoxRdOnly.setSelected(true);\r
615 }\r
616 if (!sfc.getSpdPkgDefsRePkg().equals("true")) {\r
617 sfc.setSpdPkgDefsRePkg("false");\r
618 jCheckBoxRePkg.setSelected(false);\r
619 } else {\r
620 jCheckBoxRePkg.setSelected(true);\r
621 }\r
622\r
a13899c5 623 }\r
624\r
625 /**\r
626 This method initializes jContentPane\r
627 \r
628 @return javax.swing.JPanel jContentPane\r
629 \r
630 **/\r
631 private JPanel getJContentPane() {\r
632 if (jContentPane == null) {\r
a13899c5 633 jStarLabel1 = new StarLabel();\r
07e741e0 634 jStarLabel1.setLocation(new java.awt.Point(2, rowOne));\r
a13899c5 635 jStarLabel2 = new StarLabel();\r
07e741e0 636 jStarLabel2.setLocation(new java.awt.Point(2, rowTwo));\r
a13899c5 637 jStarLabel3 = new StarLabel();\r
07e741e0 638 jStarLabel3.setLocation(new java.awt.Point(2, rowThree));\r
a13899c5 639 jStarLabel4 = new StarLabel();\r
07e741e0 640 jStarLabel4.setLocation(new java.awt.Point(2, rowFour));\r
a13899c5 641 jStarLabel5 = new StarLabel();\r
07e741e0 642 jStarLabel5.setLocation(new java.awt.Point(2, rowFive));\r
a13899c5 643 jStarLabel6 = new StarLabel();\r
07e741e0 644 jStarLabel6.setLocation(new java.awt.Point(2, rowSeven));\r
a13899c5 645 jStarLabel7 = new StarLabel();\r
07e741e0 646 jStarLabel7.setLocation(new java.awt.Point(2, rowEight));\r
647 jStarLabel8 = new StarLabel();\r
648 jStarLabel8.setLocation(new java.awt.Point(2, rowNine));\r
a13899c5 649 jStarLabel9 = new StarLabel();\r
07e741e0 650 jStarLabel9.setLocation(new java.awt.Point(2, rowTen));\r
651\r
652 jPackageNameLabel = new JLabel();\r
653 jPackageNameLabel.setText("Package Name");\r
654 jPackageNameLabel.setBounds(new java.awt.Rectangle(labelColumn, rowOne, labelWidth, oneRowHeight));\r
655 jGuidLabel = new JLabel();\r
656 jGuidLabel.setBounds(new java.awt.Rectangle(labelColumn, rowTwo, labelWidth, oneRowHeight));\r
657 jGuidLabel.setText("Guid");\r
658 jVersionLabel = new JLabel();\r
659 jVersionLabel.setText("Version");\r
660 jVersionLabel.setBounds(new java.awt.Rectangle(labelColumn, rowThree, labelWidth, oneRowHeight));\r
661 jLabelCopyright = new JLabel();\r
662 jLabelCopyright.setText("Copyright");\r
663 jLabelCopyright.setBounds(new java.awt.Rectangle(labelColumn, rowFour, labelWidth, oneRowHeight));\r
664 jLicenseLabel = new JLabel();\r
665 jLicenseLabel.setText("License");\r
666 jLicenseLabel.setBounds(new java.awt.Rectangle(labelColumn, rowFive, labelWidth, oneRowHeight));\r
667 jUrlLabel = new JLabel();\r
668 jUrlLabel.setBounds(new java.awt.Rectangle(labelColumn, rowSix, labelWidth, oneRowHeight));\r
669 jUrlLabel.setText("URL");\r
670 jAbstractLabel = new JLabel();\r
671 jAbstractLabel.setBounds(new java.awt.Rectangle(labelColumn, rowSeven, labelWidth, oneRowHeight));\r
672 jAbstractLabel.setText("Abstract");\r
673 jDescriptionLabel = new JLabel();\r
674 jDescriptionLabel.setText("Description");\r
675 jDescriptionLabel.setBounds(new java.awt.Rectangle(labelColumn, rowEight, labelWidth, oneRowHeight));\r
676\r
677 jContentPane = new JPanel();\r
678 jContentPane.setLayout(null);\r
679 jContentPane.setLocation(new java.awt.Point(0, 0));\r
680 jContentPane.setPreferredSize(new java.awt.Dimension(dialogWidth - 20, dialogHeight - 20));\r
681\r
a13899c5 682 jContentPane.add(jStarLabel1, null);\r
683 jContentPane.add(jStarLabel2, null);\r
684 jContentPane.add(jStarLabel3, null);\r
685 jContentPane.add(jStarLabel4, null);\r
686 jContentPane.add(jStarLabel5, null);\r
687 jContentPane.add(jStarLabel6, null);\r
688 jContentPane.add(jStarLabel7, null);\r
07e741e0 689 jContentPane.add(jStarLabel8, null);\r
a13899c5 690 jContentPane.add(jStarLabel9, null);\r
a13899c5 691\r
07e741e0 692 jContentPane.add(jPackageNameLabel, null);\r
693 jContentPane.add(getJPackageNameTextField(), null);\r
694 jContentPane.add(jGuidLabel, null);\r
695 jContentPane.add(getJGuidTextField(), null);\r
696 jContentPane.add(jVersionLabel, null);\r
697 jContentPane.add(getJVersionTextField(), null);\r
698 jContentPane.add(getJGenerateGuidButton(), null);\r
699 jContentPane.add(jLabelCopyright, null);\r
700 jContentPane.add(getCopyrightScrollPane(), null);\r
701 jContentPane.add(jLicenseLabel, null);\r
702 jContentPane.add(getJLicenseScrollPane(), null);\r
703 jContentPane.add(jUrlLabel, null);\r
704 jContentPane.add(getJUrlTextField(), null);\r
705 jContentPane.add(jAbstractLabel, null);\r
706 jContentPane.add(getJAbstractTextField(), null);\r
707 jContentPane.add(jDescriptionLabel, null);\r
708 jContentPane.add(getJDescriptionScrollPane(), null);\r
709\r
710// jContentPane.add(getJButtonOk(), null);\r
711// jContentPane.add(getJButtonCancel(), null);\r
712\r
3c0192d4 713 jContentPane.add(getJCheckBoxRdOnly(), null);\r
714 jContentPane.add(getJCheckBoxRePkg(), null);\r
07e741e0 715 jContentPane.add(getJSpecificationTextField(), null);\r
716\r
a13899c5 717 }\r
718 return jContentPane;\r
719 }\r
720\r
721 /* (non-Javadoc)\r
722 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
723 *\r
724 * Override actionPerformed to listen all actions\r
725 *\r
726 */\r
727 public void actionPerformed(ActionEvent arg0) {\r
07e741e0 728\r
729 if (arg0.getSource() == jGenerateGuidButton) {\r
a13899c5 730 //ToDo: invoke GuidValueEditor\r
07e741e0 731 jGuidTextField.setText(Tools.generateUuidString());\r
a490bca8 732 docConsole.setSaved(false);\r
07e741e0 733 sfc.setSpdHdrGuidValue(jGuidTextField.getText());\r
a13899c5 734 }\r
735 }\r
07e741e0 736\r
a13899c5 737 /**\r
738 This method initializes Package type and Compontent type\r
739 \r
740 **/\r
741 private void initFrame() {\r
07e741e0 742\r
a13899c5 743 }\r
744\r
07e741e0 745 /* (non-Javadoc)\r
746 * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)\r
747 * \r
748 * Override componentResized to resize all components when frame's size is changed\r
749 */\r
750 public void componentResized(ComponentEvent arg0) {\r
751 int intPreferredWidth = dialogWidth;\r
a13899c5 752 int intCurrentWidth = this.getJContentPane().getWidth();\r
07e741e0 753\r
754// Tools.resizeComponentWidth(this.jPackageNameTextField, intCurrentWidth, intPreferredWidth);\r
755// Tools.resizeComponentWidth(this.jGuidTextField, intCurrentWidth, intPreferredWidth);\r
756// Tools.resizeComponentWidth(this.jVersionTextField, intCurrentWidth, intPreferredWidth);\r
757 Tools.resizeComponentWidth(this.jUrlTextField, intCurrentWidth, intPreferredWidth);\r
758 Tools.resizeComponentWidth(this.jLicenseScrollPane, intCurrentWidth, intPreferredWidth);\r
759 Tools.resizeComponentWidth(this.jCopyrightTextArea, intCurrentWidth, intPreferredWidth);\r
760 Tools.resizeComponentWidth(this.jDescriptionScrollPane, intCurrentWidth, intPreferredWidth);\r
761 // Tools.resizeComponentWidth(this.jSpecificationTextField, intCurrentWidth,intPreferredWidth);\r
762 Tools.resizeComponentWidth(this.jAbstractTextField, intCurrentWidth, intPreferredWidth);\r
763// Tools.relocateComponentX(this.jGenerateGuidButton, intCurrentWidth, jGenerateGuidButton.getWidth(), 30);\r
764 }\r
a13899c5 765\r
766 private JScrollPane getTopScrollPane() {\r
07e741e0 767 if (topScrollPane == null) {\r
a13899c5 768 topScrollPane = new JScrollPane();\r
769 topScrollPane.setViewportView(getJContentPane());\r
770 }\r
771 return topScrollPane;\r
772 }\r
773}\r