]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java
Add Data Validations for SPD editor.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdGuidDecls.java
CommitLineData
a13899c5 1/** @file\r
2 Java class SpdGuidDecls is GUI for create library definition elements of spd file.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13package org.tianocore.frameworkwizard.packaging.ui;\r
14\r
a13899c5 15import java.awt.Dimension;\r
a13899c5 16import java.awt.event.ActionEvent;\r
a13899c5 17import java.awt.event.ComponentEvent;\r
a13899c5 18import java.util.Vector;\r
19\r
a13899c5 20import javax.swing.JOptionPane;\r
21import javax.swing.JPanel;\r
a13899c5 22import javax.swing.JTable;\r
23import javax.swing.JTextField;\r
a13899c5 24import javax.swing.JLabel;\r
a13899c5 25import javax.swing.JScrollPane;\r
26import javax.swing.JButton;\r
27import javax.swing.JFrame;\r
28import javax.swing.ListSelectionModel;\r
29import javax.swing.event.InternalFrameAdapter;\r
30import javax.swing.event.InternalFrameEvent;\r
31import javax.swing.event.ListSelectionEvent;\r
32import javax.swing.event.ListSelectionListener;\r
33import javax.swing.event.TableModelEvent;\r
34import javax.swing.event.TableModelListener;\r
35import javax.swing.table.DefaultTableModel;\r
36import javax.swing.table.TableModel;\r
37\r
38import org.tianocore.PackageSurfaceAreaDocument;\r
ce73a791 39import org.tianocore.frameworkwizard.common.DataValidation;\r
a13899c5 40import org.tianocore.frameworkwizard.common.Tools;\r
41import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
42import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
43import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
ce73a791 44import org.tianocore.frameworkwizard.platform.ui.ListEditor;\r
a13899c5 45\r
46/**\r
47 GUI for create library definition elements of spd file.\r
48 \r
49 @since PackageEditor 1.0\r
50**/\r
51public class SpdGuidDecls extends IInternalFrame implements TableModelListener{\r
ce73a791 52 /**\r
53 * \r
54 */\r
55 private static final long serialVersionUID = 1L;\r
56\r
a13899c5 57 static JFrame frame;\r
58 \r
59 private SpdFileContents sfc = null;\r
60\r
61 private JTable jTable = null;\r
62\r
63 private DefaultTableModel model = null;\r
64\r
65 private JPanel jContentPane = null;\r
66\r
67 private JTextField jTextFieldAdd = null;\r
68\r
69 private JScrollPane jScrollPane = null;\r
70\r
71 private JButton jButtonAdd = null;\r
72\r
73 private JButton jButtonRemove = null;\r
74\r
75 private JButton jButtonClearAll = null;\r
76\r
77 private JButton jButtonCancel = null;\r
78\r
79 private JButton jButtonOk = null;\r
80\r
81 private JButton jButtonGen = null;\r
82 \r
83 private StarLabel jStarLabel1 = null;\r
84 \r
85 private StarLabel jStarLabel2 = null;\r
86 \r
87 private StarLabel jStarLabel3 = null;\r
88 \r
89 private StarLabel jStarLabel4 = null;\r
90\r
91 protected int selectedRow = -1;\r
92\r
93 private JLabel jLabelName = null;\r
94\r
95 private JScrollPane jScrollPaneModule = null;\r
96\r
97 private JTextField jTextFieldName = null;\r
98\r
99 private JScrollPane jScrollPaneArch = null;\r
100 \r
101 private JScrollPane jScrollPaneGuid = null;\r
102\r
103 private JLabel jLabelGuid = null;\r
104\r
105 private JScrollPane topScrollPane = null; // @jve:decl-index=0:visual-constraint="10,213"\r
106\r
107 private JLabel jLabelVer = null;\r
108\r
109 private GenGuidDialog guidDialog = null;\r
110\r
111 private JTextField jTextFieldVersion = null;\r
112\r
113 private JLabel jLabel = null;\r
114\r
115 private JTextField jTextField = null;\r
116\r
117 private JLabel jLabel1 = null;\r
118\r
119 private JLabel jLabel2 = null;\r
120\r
121 private ICheckBoxList iCheckBoxList = null;\r
122\r
123 private ICheckBoxList iCheckBoxList1 = null;\r
124\r
125 private ICheckBoxList iCheckBoxList2 = null;\r
126\r
127 private JLabel jLabel3 = null;\r
128\r
129\r
130\r
131 /**\r
132 This method initializes this\r
133 \r
134 **/\r
135 protected void initialize() {\r
136 \r
137 this.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\r
138\r
139 }\r
140\r
141 /**\r
142 This method initializes jTextFieldAdd \r
143 \r
144 @return javax.swing.JTextField \r
145 **/\r
146 protected JTextField getJTextFieldAdd() {\r
147 if (jTextFieldAdd == null) {\r
148 jTextFieldAdd = new JTextField();\r
149 jTextFieldAdd.setBounds(new java.awt.Rectangle(137,35,337,20));\r
150 jTextFieldAdd.setPreferredSize(new java.awt.Dimension(335,20));\r
151 \r
152 }\r
153 return jTextFieldAdd;\r
154 }\r
155\r
156 /**\r
157 This method initializes jScrollPane \r
158 \r
159 @return javax.swing.JScrollPane \r
160 **/\r
161 protected JScrollPane getJScrollPane() {\r
162 if (jScrollPane == null) {\r
163 jScrollPane = new JScrollPane();\r
164 jScrollPane.setBounds(new java.awt.Rectangle(5,256,472,196));\r
165 jScrollPane.setViewportView(getJTable());\r
166 }\r
167 return jScrollPane;\r
168 }\r
169\r
170 /**\r
171 This method initializes jTable \r
172 \r
173 @return javax.swing.JTable \r
174 **/\r
175 protected JTable getJTable() {\r
176 if (jTable == null) {\r
177 model = new DefaultTableModel();\r
178 jTable = new JTable(model);\r
179 jTable.setRowHeight(20);\r
180 jTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
181 model.addColumn("Name");\r
182 model.addColumn("C_Name");\r
183 model.addColumn("GUID Value");\r
184 model.addColumn("HelpText");\r
185 model.addColumn("SupportedArch");\r
186 model.addColumn("SupportedModuleType");\r
187 model.addColumn("GuidTypes");\r
188 jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor());\r
189\r
ce73a791 190 Vector<String> vArch = new Vector<String>();\r
191 vArch.add("IA32");\r
192 vArch.add("X64");\r
193 vArch.add("IPF");\r
194 vArch.add("EBC");\r
195 vArch.add("ARM");\r
196 vArch.add("PPC");\r
197 jTable.getColumnModel().getColumn(4).setCellEditor(new ListEditor(vArch));\r
198 \r
199 Vector<String> vModule = new Vector<String>();\r
200 vModule.add("BASE");\r
201 vModule.add("SEC");\r
202 vModule.add("PEI_CORE");\r
203 vModule.add("PEIM");\r
204 vModule.add("DXE_CORE");\r
205 vModule.add("DXE_DRIVER");\r
206 vModule.add("DXE_RUNTIME_DRIVER");\r
207 vModule.add("DXE_SAL_DRIVER");\r
208 vModule.add("DXE_SMM_DRIVER");\r
209 vModule.add("UEFI_DRIVER");\r
210 vModule.add("UEFI_APPLICATION");\r
211 vModule.add("USER_DEFINED");\r
212 jTable.getColumnModel().getColumn(5).setCellEditor(new ListEditor(vModule));\r
213 \r
214 Vector<String> vGuid = new Vector<String>();\r
215 vGuid.add("DATA_HUB_RECORD");\r
216 vGuid.add("EFI_EVENT");\r
217 vGuid.add("EFI_SYSTEM_CONFIGURATION_TABLE");\r
218 vGuid.add("EFI_VARIABLE");\r
219 vGuid.add("GUID");\r
220 vGuid.add("HII_PACKAGE_LIST");\r
221 vGuid.add("HOB");\r
222 vGuid.add("TOKEN_SPACE_GUID");\r
223 jTable.getColumnModel().getColumn(6).setCellEditor(new ListEditor(vGuid));\r
224 \r
a13899c5 225 jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
226 jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
227 public void valueChanged(ListSelectionEvent e) {\r
228 if (e.getValueIsAdjusting()){\r
229 return;\r
230 }\r
231 ListSelectionModel lsm = (ListSelectionModel)e.getSource();\r
232 if (lsm.isSelectionEmpty()) {\r
233 return;\r
234 }\r
235 else{\r
236 selectedRow = lsm.getMinSelectionIndex();\r
237 }\r
238 }\r
239 });\r
240 \r
241 jTable.getModel().addTableModelListener(this);\r
242 }\r
243 return jTable;\r
244 }\r
245 \r
246\r
247 public void tableChanged(TableModelEvent arg0) {\r
248 // TODO Auto-generated method stub\r
249 int row = arg0.getFirstRow();\r
250 TableModel m = (TableModel)arg0.getSource();\r
251 if (arg0.getType() == TableModelEvent.UPDATE){\r
252 updateRow(row, m);\r
253 }\r
254 }\r
255 \r
256 protected void updateRow(int row, TableModel m){\r
257 String name = m.getValueAt(row, 0) + "";\r
258 String cName = m.getValueAt(row, 1) + "";\r
259 String guid = m.getValueAt(row, 2) + "";\r
260 String help = m.getValueAt(row, 3) + "";\r
261 String archList = null;\r
262 if (m.getValueAt(row, 4) != null){\r
263 archList = m.getValueAt(row, 4).toString();\r
264 }\r
265 String modTypeList = null;\r
266 if (m.getValueAt(row, 5) != null) {\r
267 modTypeList = m.getValueAt(row, 5).toString(); \r
268 }\r
269 String guidTypeList = null;\r
270 if (m.getValueAt(row, 6) != null){\r
271 guidTypeList = m.getValueAt(row, 6).toString();\r
272 }\r
ce73a791 273 String[] rowData = {name, cName, guid, help};\r
274 if (!dataValidation(rowData)){\r
275 return;\r
276 }\r
a13899c5 277 \r
278 sfc.updateSpdGuidDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
279 }\r
280 /**\r
281 This method initializes jButtonAdd \r
282 \r
283 @return javax.swing.JButton \r
284 **/\r
285 protected JButton getJButtonAdd() {\r
286 if (jButtonAdd == null) {\r
287 jButtonAdd = new JButton();\r
288 jButtonAdd.setBounds(new java.awt.Rectangle(167,227,90,20));\r
289 jButtonAdd.setText("Add");\r
290 jButtonAdd.addActionListener(this);\r
291 }\r
292 return jButtonAdd;\r
293 }\r
294\r
295 /**\r
296 This method initializes jButtonRemove \r
297 \r
298 @return javax.swing.JButton \r
299 **/\r
300 protected JButton getJButtonRemove() {\r
301 if (jButtonRemove == null) {\r
302 jButtonRemove = new JButton();\r
303 jButtonRemove.setBounds(new java.awt.Rectangle(270,227,90,20));\r
304 jButtonRemove.setText("Remove");\r
305 jButtonRemove.addActionListener(this);\r
306 }\r
307 return jButtonRemove;\r
308 }\r
309\r
310 /**\r
311 This method initializes jButtonRemoveAll \r
312 \r
313 @return javax.swing.JButton \r
314 **/\r
315 protected JButton getJButtonClearAll() {\r
316 if (jButtonClearAll == null) {\r
317 jButtonClearAll = new JButton();\r
318 jButtonClearAll.setBounds(new java.awt.Rectangle(380,227,90,20));\r
319 jButtonClearAll.setText("Clear All");\r
320 jButtonClearAll.addActionListener(this);\r
321 }\r
322 return jButtonClearAll;\r
323 }\r
324\r
325 /**\r
326 This method initializes jButtonCancel \r
327 \r
328 @return javax.swing.JButton \r
329 **/\r
330 protected JButton getJButtonCancel() {\r
331 if (jButtonCancel == null) {\r
332 jButtonCancel = new JButton();\r
333 jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));\r
334 jButtonCancel.setLocation(new java.awt.Point(390, 305));\r
335 jButtonCancel.setText("Cancel");\r
336 jButtonCancel.setSize(new java.awt.Dimension(90, 20));\r
337 jButtonCancel.setVisible(false);\r
338 jButtonCancel.addActionListener(this);\r
339 }\r
340 return jButtonCancel;\r
341 }\r
342\r
343 /**\r
344 This method initializes jButton \r
345 \r
346 @return javax.swing.JButton \r
347 **/\r
348 protected JButton getJButtonOk() {\r
349 if (jButtonOk == null) {\r
350 jButtonOk = new JButton();\r
351 jButtonOk.setSize(new java.awt.Dimension(90, 20));\r
352 jButtonOk.setText("OK");\r
353 jButtonOk.setLocation(new java.awt.Point(290, 305));\r
354 jButtonOk.setVisible(false);\r
355 jButtonOk.addActionListener(this);\r
356 }\r
357 return jButtonOk;\r
358 }\r
359\r
360 /**\r
361 This is the default constructor\r
362 **/\r
363 public SpdGuidDecls() {\r
364 super();\r
365 initialize();\r
366 init();\r
367 \r
368 }\r
369\r
370 public SpdGuidDecls(PackageSurfaceAreaDocument.PackageSurfaceArea inPsa){\r
371 this();\r
372 sfc = new SpdFileContents(inPsa);\r
373 init(sfc);\r
374 }\r
375 /**\r
376 This method initializes this\r
377 \r
378 @return void\r
379 **/\r
380 protected void init() {\r
381 this.setContentPane(getJContentPane());\r
382 this.addInternalFrameListener(new InternalFrameAdapter(){\r
383 public void internalFrameDeactivated(InternalFrameEvent e){\r
384 if (jTable.isEditing()) {\r
385 jTable.getCellEditor().stopCellEditing();\r
386 }\r
387 }\r
388 });\r
389 this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
390 this.setVisible(true);\r
391 initFrame();\r
392 }\r
393\r
394 protected void init(SpdFileContents sfc){\r
395 if (sfc.getSpdGuidDeclarationCount() == 0) {\r
396 return ;\r
397 }\r
398 //\r
399 // initialize table using SpdFileContents object\r
400 //\r
401 String[][] saa = new String[sfc.getSpdGuidDeclarationCount()][7];\r
402 sfc.getSpdGuidDeclarations(saa);\r
403 int i = 0;\r
404 while (i < saa.length) {\r
405 model.addRow(saa[i]);\r
406 i++;\r
407 }\r
408 }\r
409 \r
410 protected JScrollPane getJContentPane(){\r
411 if (topScrollPane == null){\r
412 topScrollPane = new JScrollPane();\r
413 topScrollPane.setSize(new java.awt.Dimension(617,500));\r
414 topScrollPane.setPreferredSize(new java.awt.Dimension(498,500));\r
415 topScrollPane.setViewportView(getJContentPane1());\r
416 }\r
417 return topScrollPane;\r
418 }\r
419 \r
420 /**\r
421 This method initializes jContentPane\r
422 \r
423 @return javax.swing.JPanel\r
424 **/\r
425 protected JPanel getJContentPane1() {\r
426 if (jContentPane == null) {\r
427 jLabel3 = new JLabel();\r
428 jLabel3.setBounds(new java.awt.Rectangle(400,122,103,16));\r
429 jLabel3.setText("GUID Type List");\r
430 jLabel3.setEnabled(true);\r
431 jLabel2 = new JLabel();\r
432 jLabel2.setBounds(new java.awt.Rectangle(197,122,108,16));\r
433 jLabel2.setText("Supported Arch");\r
434 jLabel2.setEnabled(true);\r
435 jLabel1 = new JLabel();\r
436 jLabel1.setBounds(new java.awt.Rectangle(14,120,110,16));\r
437 jLabel1.setText("Supported Module");\r
438 jLabel1.setEnabled(true);\r
439 jLabel = new JLabel();\r
440 jLabel.setText("HelpText");\r
441 jLabel.setSize(new java.awt.Dimension(109,20));\r
442 jLabel.setLocation(new java.awt.Point(14,85));\r
443 jLabelVer = new JLabel();\r
444 jLabelVer.setBounds(new java.awt.Rectangle(14,60,111,20));\r
445 jLabelVer.setText("C_Name");\r
446 jLabelGuid = new JLabel();\r
447 jLabelGuid.setBounds(new java.awt.Rectangle(15,35,112,20));\r
448 jLabelGuid.setText("Guid Value");\r
449 jLabelName = new JLabel();\r
450 jLabelName.setBounds(new java.awt.Rectangle(15,10,113,20));\r
451 jLabelName.setText("Name");\r
452 jStarLabel1 = new StarLabel();\r
453 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
454 jStarLabel3 = new StarLabel();\r
455 jStarLabel3.setLocation(new java.awt.Point(0, 35));\r
456 jStarLabel4 = new StarLabel();\r
457 jStarLabel4.setLocation(new java.awt.Point(0, 60));\r
458 jStarLabel2 = new StarLabel();\r
459 jStarLabel2.setLocation(new java.awt.Point(0, 85));\r
460 jStarLabel2.setVisible(true);\r
461 jContentPane = new JPanel();\r
462 jContentPane.setLayout(null);\r
463 jContentPane.setPreferredSize(new Dimension(480, 375));\r
464 jContentPane.add(jStarLabel1, null);\r
465 jContentPane.add(jStarLabel2, null);\r
466 jContentPane.add(jStarLabel3, null);\r
467 jContentPane.add(jStarLabel4, null);\r
468 jContentPane.add(jLabelVer, null);\r
469 jContentPane.add(getJTextFieldVersion(), null);\r
470 jContentPane.add(getJTextFieldAdd(), null);\r
471 jContentPane.add(getJScrollPane(), null);\r
472 jContentPane.add(getJButtonAdd(), null);\r
473 jContentPane.add(getJButtonRemove(), null);\r
474 jContentPane.add(getJButtonClearAll(), null);\r
475 jContentPane.add(getJButtonCancel(), null);\r
476 jContentPane.add(getJButtonOk(), null);\r
477 \r
478 jContentPane.add(getJButtonGen(), null);\r
479 jContentPane.add(jLabelName, null);\r
480 jContentPane.add(getJTextFieldName(), null);\r
481 jContentPane.add(jLabelGuid, null);\r
482 jContentPane.add(jLabel, null);\r
483 jContentPane.add(getJTextField(), null);\r
484 jContentPane.add(jLabel1, null);\r
485 jContentPane.add(jLabel2, null);\r
486 jContentPane.add(getJScrollPaneArch(), null);\r
487 jContentPane.add(getJScrollPaneGuid(), null);\r
488 jContentPane.add(getJScrollPaneModule(), null);\r
489 jContentPane.add(jLabel3, null);\r
490 }\r
491 return jContentPane;\r
492 }\r
493\r
494 /**\r
495 fill ComboBoxes with pre-defined contents\r
496 **/\r
497 protected void initFrame() {\r
498 \r
499 this.setTitle("GUID Declarations");\r
500\r
501 }\r
502\r
503 /* (non-Javadoc)\r
504 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
505 */\r
506 public void actionPerformed(ActionEvent arg0) {\r
507 if (arg0.getSource() == jButtonOk) {\r
508 this.save();\r
509 this.dispose();\r
510\r
511 }\r
512 if (arg0.getSource() == jButtonCancel) {\r
513 this.dispose();\r
514 }\r
515\r
516 if (arg0.getSource() == jButtonAdd) {\r
517 \r
518 //ToDo: check before add\r
ce73a791 519 String[] row = {"", "", "", "", "", "", ""};\r
a13899c5 520 row[3] = jTextField.getText();\r
521 row[2] = jTextFieldAdd.getText();\r
522 row[1] = jTextFieldVersion.getText();\r
523 row[0] = jTextFieldName.getText();\r
524 row[4] = vectorToString(iCheckBoxList.getAllCheckedItemsString());\r
525 if (row[4].length() == 0) {\r
526 row[4] = null;\r
527 }\r
528 row[5] = vectorToString(iCheckBoxList2.getAllCheckedItemsString());\r
529 if (row[5].length() == 0) {\r
530 row[5] = null;\r
531 }\r
ce73a791 532 row[6] = vectorToString(iCheckBoxList1.getAllCheckedItemsString());\r
533 if (row[6].length() == 0) {\r
534 row[6] = null;\r
535 }\r
536 \r
537 if (!dataValidation(row)) {\r
538 return;\r
a13899c5 539 }\r
540 model.addRow(row);\r
541 addRow(row);\r
542 }\r
543 //\r
544 // remove selected line\r
545 //\r
546 if (arg0.getSource() == jButtonRemove) {\r
547 if (jTable.isEditing()){\r
548 jTable.getCellEditor().stopCellEditing();\r
549 }\r
550 int rowSelected = selectedRow;\r
551 if (rowSelected >= 0) {\r
552 model.removeRow(rowSelected);\r
553 removeRow(rowSelected);\r
554 }\r
555 }\r
556\r
557 if (arg0.getSource() == jButtonClearAll) {\r
558 if (model.getRowCount() == 0) {\r
559 return;\r
560 }\r
561 model.setRowCount(0);\r
562 clearAllRow();\r
563 }\r
564 \r
565 if (arg0.getSource() == jButtonGen) {\r
ce73a791 566 jTextFieldAdd.setText(Tools.generateUuidString());\r
a13899c5 567 }\r
568 \r
569 if (arg0.getActionCommand().equals("GenGuidValue")) {\r
570 jTextFieldAdd.setText(guidDialog.getGuid());\r
571 }\r
572 \r
573 }\r
574 \r
ce73a791 575 protected boolean dataValidation(String[] row){\r
576 if (!DataValidation.isUiNameType(row[0])) {\r
577 JOptionPane.showMessageDialog(this, "Name is NOT UiNameType.");\r
578 return false;\r
579 }\r
580 if (!DataValidation.isGuid(row[2])) {\r
581 JOptionPane.showMessageDialog(this, "Guid Value is NOT GuidType.");\r
582 return false;\r
583 }\r
584 if (!DataValidation.isC_NameType(row[1])) {\r
585 JOptionPane.showMessageDialog(this, "C_Name is NOT C_NameType.");\r
586 return false;\r
587 }\r
588 if (row[3].length() == 0) {\r
589 JOptionPane.showMessageDialog(this, "HelpText could NOT be empty.");\r
590 return false;\r
591 }\r
592 return true;\r
593 }\r
594 \r
a13899c5 595 protected void addRow(String[] row) {\r
596 Vector<String> vArch = iCheckBoxList.getAllCheckedItemsString();\r
597 Vector<String> vModType = iCheckBoxList2.getAllCheckedItemsString();\r
598 Vector<String> vguidType = iCheckBoxList1.getAllCheckedItemsString();\r
599 sfc.genSpdGuidDeclarations(row[0], row[1], row[2], row[3], vArch, vModType, vguidType);\r
600 }\r
601 \r
602 protected void removeRow(int i){\r
603 sfc.removeSpdGuidDeclaration(i);\r
604 }\r
605 \r
606 protected void clearAllRow(){\r
607 sfc.removeSpdGuidDeclaration();\r
608 }\r
609\r
610 /**\r
611 Add contents in list to sfc\r
612 **/\r
613 protected void save() {\r
614 \r
615 }\r
616\r
617 /**\r
618 This method initializes jButtonBrowse \r
619 \r
620 @return javax.swing.JButton \r
621 **/\r
622 protected JButton getJButtonGen() {\r
623 if (jButtonGen == null) {\r
624 jButtonGen = new JButton();\r
625 jButtonGen.setBounds(new java.awt.Rectangle(379,58,92,21));\r
626 jButtonGen.setText("Gen GUID");\r
627 jButtonGen.setPreferredSize(new java.awt.Dimension(80,20));\r
628 jButtonGen.addActionListener(this);\r
629 }\r
630 return jButtonGen;\r
631 }\r
632 \r
633 /**\r
634 * This method initializes jTextFieldName \r
635 * \r
636 * @return javax.swing.JTextField \r
637 */\r
638 protected JTextField getJTextFieldName() {\r
639 if (jTextFieldName == null) {\r
640 jTextFieldName = new JTextField();\r
641 jTextFieldName.setBounds(new java.awt.Rectangle(138,10,337,20));\r
642 jTextFieldName.setPreferredSize(new java.awt.Dimension(335,20));\r
643 }\r
644 return jTextFieldName;\r
645 }\r
646\r
647 /**\r
648 * This method initializes jTextFieldVersion \r
649 * \r
650 * @return javax.swing.JTextField \r
651 */\r
652 protected JTextField getJTextFieldVersion() {\r
653 if (jTextFieldVersion == null) {\r
654 jTextFieldVersion = new JTextField();\r
655 jTextFieldVersion.setBounds(new java.awt.Rectangle(137,60,225,20));\r
656 jTextFieldVersion.setPreferredSize(new java.awt.Dimension(225,20));\r
657 }\r
658 return jTextFieldVersion;\r
659 }\r
660\r
661 public void componentResized(ComponentEvent arg0) {\r
662 int intPreferredWidth = 500;\r
663 \r
664 resizeComponentWidth(this.jTextFieldName, this.getWidth(), intPreferredWidth);\r
665 resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);\r
666 resizeComponentWidth(this.jTextFieldVersion, this.getWidth(), intPreferredWidth);\r
667 resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
668 resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
669 relocateComponentX(this.jButtonGen, this.getWidth(), this.getPreferredSize().width, 40);\r
670 \r
671 }\r
672 \r
673 /**\r
674 * This method initializes jTextField \r
675 * \r
676 * @return javax.swing.JTextField \r
677 */\r
678 private JTextField getJTextField() {\r
679 if (jTextField == null) {\r
680 jTextField = new JTextField();\r
681 jTextField.setBounds(new java.awt.Rectangle(136,85,337,20));\r
682 jTextField.setPreferredSize(new Dimension(335, 20));\r
683 }\r
684 return jTextField;\r
685 }\r
686\r
687 private JScrollPane getJScrollPaneArch() {\r
688 if (jScrollPaneArch == null) {\r
689 jScrollPaneArch = new JScrollPane();\r
690 jScrollPaneArch.setBounds(new java.awt.Rectangle(197,142,188,74));\r
691 jScrollPaneArch.setPreferredSize(new java.awt.Dimension(188, 74));\r
692 jScrollPaneArch.setViewportView(getICheckBoxList());\r
693 }\r
694 return jScrollPaneArch;\r
695 }\r
696 /**\r
697 * This method initializes iCheckBoxList \r
698 * \r
699 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
700 */\r
701 private ICheckBoxList getICheckBoxList() {\r
702 if (iCheckBoxList == null) {\r
703 iCheckBoxList = new ICheckBoxList();\r
704 iCheckBoxList.setBounds(new java.awt.Rectangle(197,142,188,74));\r
705 Vector<String> v = new Vector<String>();\r
706 v.add("IA32");\r
707 v.add("X64");\r
708 v.add("IPF");\r
709 v.add("EBC");\r
ce73a791 710 v.add("ARM");\r
711 v.add("PPC");\r
a13899c5 712 iCheckBoxList.setAllItems(v);\r
713 }\r
714 return iCheckBoxList;\r
715 }\r
716\r
717 protected JScrollPane getJScrollPaneGuid() {\r
718 if (jScrollPaneGuid== null) {\r
719 jScrollPaneGuid = new JScrollPane();\r
720 jScrollPaneGuid.setPreferredSize(new java.awt.Dimension(190,74));\r
721 jScrollPaneGuid.setLocation(new java.awt.Point(400,142));\r
722 jScrollPaneGuid.setSize(new java.awt.Dimension(260,74));\r
723 jScrollPaneGuid.setViewportView(getICheckBoxList1());\r
724 }\r
725 return jScrollPaneGuid;\r
726 }\r
727 /**\r
728 * This method initializes iCheckBoxList1 \r
729 * \r
730 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
731 */\r
732 private ICheckBoxList getICheckBoxList1() {\r
733 if (iCheckBoxList1 == null) {\r
734 iCheckBoxList1 = new ICheckBoxList();\r
735 iCheckBoxList1.setBounds(new java.awt.Rectangle(400,142,177,74));\r
736 Vector<String> v = new Vector<String>();\r
737 v.add("DATA_HUB_RECORD");\r
738 v.add("EFI_EVENT");\r
739 v.add("EFI_SYSTEM_CONFIGURATION_TABLE");\r
740 v.add("EFI_VARIABLE");\r
741 v.add("GUID");\r
742 v.add("HII_PACKAGE_LIST");\r
743 v.add("HOB");\r
744 v.add("TOKEN_SPACE_GUID");\r
745 \r
746 iCheckBoxList1.setAllItems(v);\r
747 }\r
748 return iCheckBoxList1;\r
749 }\r
750\r
751 private JScrollPane getJScrollPaneModule() {\r
752 if (jScrollPaneModule == null) {\r
753 jScrollPaneModule = new JScrollPane();\r
754 jScrollPaneModule.setBounds(new java.awt.Rectangle(14,142,170,74));\r
755 jScrollPaneModule.setPreferredSize(new java.awt.Dimension(170, 74));\r
756 jScrollPaneModule.setViewportView(getICheckBoxList2());\r
757 }\r
758 return jScrollPaneModule;\r
759 }\r
760 /**\r
761 * This method initializes iCheckBoxList2 \r
762 * \r
763 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
764 */\r
765 private ICheckBoxList getICheckBoxList2() {\r
766 if (iCheckBoxList2 == null) {\r
767 iCheckBoxList2 = new ICheckBoxList();\r
768 iCheckBoxList2.setBounds(new java.awt.Rectangle(14,142,170,74));\r
769 Vector<String> v = new Vector<String>();\r
770 v.add("BASE");\r
771 v.add("SEC");\r
772 v.add("PEI_CORE");\r
773 v.add("PEIM");\r
774 v.add("DXE_CORE");\r
775 v.add("DXE_DRIVER");\r
776 v.add("DXE_RUNTIME_DRIVER");\r
777 v.add("DXE_SAL_DRIVER");\r
778 v.add("DXE_SMM_DRIVER");\r
779 v.add("UEFI_DRIVER");\r
780 v.add("UEFI_APPLICATION");\r
781 v.add("USER_DEFINED");\r
782 iCheckBoxList2.setAllItems(v);\r
783 }\r
784 return iCheckBoxList2;\r
785 }\r
786\r
787 public static void main(String[] args){\r
788 new SpdGuidDecls().setVisible(true);\r
789 }\r
790\r
791 protected DefaultTableModel getModel() {\r
792 return model;\r
793 }\r
794\r
795 protected void setModel(DefaultTableModel model) {\r
796 this.model = model;\r
797 }\r
798 \r
799 protected String vectorToString(Vector<String> v) {\r
800 String s = " ";\r
801 for (int i = 0; i < v.size(); ++i) {\r
802 s += v.get(i);\r
803 s += " ";\r
804 }\r
805 return s.trim();\r
806 }\r
807 \r
808 protected Vector<String> stringToVector(String s){\r
809 if (s == null) {\r
810 return null;\r
811 }\r
812 String[] sArray = s.split(" ");\r
813 Vector<String> v = new Vector<String>();\r
814 for (int i = 0; i < sArray.length; ++i) {\r
815 v.add(sArray[i]);\r
816 }\r
817 return v;\r
818 }\r
819\r
820 protected JLabel getJLabel3() {\r
821 return jLabel3;\r
822 }\r
823}\r
824\r
825\r