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