]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java
Adapt to new Main UI interface.
[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
517 docConsole.setSaved(false);\r
518 \r
a13899c5 519 if (arg0.getSource() == jButtonOk) {\r
520 this.save();\r
521 this.dispose();\r
522\r
523 }\r
524 if (arg0.getSource() == jButtonCancel) {\r
525 this.dispose();\r
526 }\r
527\r
528 if (arg0.getSource() == jButtonAdd) {\r
529 \r
530 //ToDo: check before add\r
ce73a791 531 String[] row = {"", "", "", "", "", "", ""};\r
a13899c5 532 row[3] = jTextField.getText();\r
533 row[2] = jTextFieldAdd.getText();\r
534 row[1] = jTextFieldVersion.getText();\r
535 row[0] = jTextFieldName.getText();\r
536 row[4] = vectorToString(iCheckBoxList.getAllCheckedItemsString());\r
537 if (row[4].length() == 0) {\r
538 row[4] = null;\r
539 }\r
540 row[5] = vectorToString(iCheckBoxList2.getAllCheckedItemsString());\r
541 if (row[5].length() == 0) {\r
542 row[5] = null;\r
543 }\r
ce73a791 544 row[6] = vectorToString(iCheckBoxList1.getAllCheckedItemsString());\r
545 if (row[6].length() == 0) {\r
546 row[6] = null;\r
547 }\r
548 \r
549 if (!dataValidation(row)) {\r
550 return;\r
a13899c5 551 }\r
552 model.addRow(row);\r
553 addRow(row);\r
554 }\r
555 //\r
556 // remove selected line\r
557 //\r
558 if (arg0.getSource() == jButtonRemove) {\r
559 if (jTable.isEditing()){\r
560 jTable.getCellEditor().stopCellEditing();\r
561 }\r
562 int rowSelected = selectedRow;\r
563 if (rowSelected >= 0) {\r
564 model.removeRow(rowSelected);\r
565 removeRow(rowSelected);\r
566 }\r
567 }\r
568\r
569 if (arg0.getSource() == jButtonClearAll) {\r
570 if (model.getRowCount() == 0) {\r
571 return;\r
572 }\r
573 model.setRowCount(0);\r
574 clearAllRow();\r
575 }\r
576 \r
577 if (arg0.getSource() == jButtonGen) {\r
ce73a791 578 jTextFieldAdd.setText(Tools.generateUuidString());\r
a13899c5 579 }\r
580 \r
581 if (arg0.getActionCommand().equals("GenGuidValue")) {\r
582 jTextFieldAdd.setText(guidDialog.getGuid());\r
583 }\r
584 \r
585 }\r
586 \r
ce73a791 587 protected boolean dataValidation(String[] row){\r
588 if (!DataValidation.isUiNameType(row[0])) {\r
589 JOptionPane.showMessageDialog(this, "Name is NOT UiNameType.");\r
590 return false;\r
591 }\r
592 if (!DataValidation.isGuid(row[2])) {\r
593 JOptionPane.showMessageDialog(this, "Guid Value is NOT GuidType.");\r
594 return false;\r
595 }\r
596 if (!DataValidation.isC_NameType(row[1])) {\r
597 JOptionPane.showMessageDialog(this, "C_Name is NOT C_NameType.");\r
598 return false;\r
599 }\r
600 if (row[3].length() == 0) {\r
601 JOptionPane.showMessageDialog(this, "HelpText could NOT be empty.");\r
602 return false;\r
603 }\r
604 return true;\r
605 }\r
606 \r
a13899c5 607 protected void addRow(String[] row) {\r
608 Vector<String> vArch = iCheckBoxList.getAllCheckedItemsString();\r
609 Vector<String> vModType = iCheckBoxList2.getAllCheckedItemsString();\r
610 Vector<String> vguidType = iCheckBoxList1.getAllCheckedItemsString();\r
611 sfc.genSpdGuidDeclarations(row[0], row[1], row[2], row[3], vArch, vModType, vguidType);\r
612 }\r
613 \r
614 protected void removeRow(int i){\r
615 sfc.removeSpdGuidDeclaration(i);\r
616 }\r
617 \r
618 protected void clearAllRow(){\r
619 sfc.removeSpdGuidDeclaration();\r
620 }\r
621\r
622 /**\r
623 Add contents in list to sfc\r
624 **/\r
625 protected void save() {\r
626 \r
627 }\r
628\r
629 /**\r
630 This method initializes jButtonBrowse \r
631 \r
632 @return javax.swing.JButton \r
633 **/\r
634 protected JButton getJButtonGen() {\r
635 if (jButtonGen == null) {\r
636 jButtonGen = new JButton();\r
637 jButtonGen.setBounds(new java.awt.Rectangle(379,58,92,21));\r
638 jButtonGen.setText("Gen GUID");\r
639 jButtonGen.setPreferredSize(new java.awt.Dimension(80,20));\r
640 jButtonGen.addActionListener(this);\r
641 }\r
642 return jButtonGen;\r
643 }\r
644 \r
645 /**\r
646 * This method initializes jTextFieldName \r
647 * \r
648 * @return javax.swing.JTextField \r
649 */\r
650 protected JTextField getJTextFieldName() {\r
651 if (jTextFieldName == null) {\r
652 jTextFieldName = new JTextField();\r
653 jTextFieldName.setBounds(new java.awt.Rectangle(138,10,337,20));\r
654 jTextFieldName.setPreferredSize(new java.awt.Dimension(335,20));\r
655 }\r
656 return jTextFieldName;\r
657 }\r
658\r
659 /**\r
660 * This method initializes jTextFieldVersion \r
661 * \r
662 * @return javax.swing.JTextField \r
663 */\r
664 protected JTextField getJTextFieldVersion() {\r
665 if (jTextFieldVersion == null) {\r
666 jTextFieldVersion = new JTextField();\r
667 jTextFieldVersion.setBounds(new java.awt.Rectangle(137,60,225,20));\r
668 jTextFieldVersion.setPreferredSize(new java.awt.Dimension(225,20));\r
669 }\r
670 return jTextFieldVersion;\r
671 }\r
672\r
673 public void componentResized(ComponentEvent arg0) {\r
674 int intPreferredWidth = 500;\r
675 \r
676 resizeComponentWidth(this.jTextFieldName, this.getWidth(), intPreferredWidth);\r
677 resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);\r
678 resizeComponentWidth(this.jTextFieldVersion, this.getWidth(), intPreferredWidth);\r
679 resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
680 resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
681 relocateComponentX(this.jButtonGen, this.getWidth(), this.getPreferredSize().width, 40);\r
682 \r
683 }\r
684 \r
685 /**\r
686 * This method initializes jTextField \r
687 * \r
688 * @return javax.swing.JTextField \r
689 */\r
690 private JTextField getJTextField() {\r
691 if (jTextField == null) {\r
692 jTextField = new JTextField();\r
693 jTextField.setBounds(new java.awt.Rectangle(136,85,337,20));\r
694 jTextField.setPreferredSize(new Dimension(335, 20));\r
695 }\r
696 return jTextField;\r
697 }\r
698\r
699 private JScrollPane getJScrollPaneArch() {\r
700 if (jScrollPaneArch == null) {\r
701 jScrollPaneArch = new JScrollPane();\r
702 jScrollPaneArch.setBounds(new java.awt.Rectangle(197,142,188,74));\r
703 jScrollPaneArch.setPreferredSize(new java.awt.Dimension(188, 74));\r
704 jScrollPaneArch.setViewportView(getICheckBoxList());\r
705 }\r
706 return jScrollPaneArch;\r
707 }\r
708 /**\r
709 * This method initializes iCheckBoxList \r
710 * \r
711 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
712 */\r
713 private ICheckBoxList getICheckBoxList() {\r
714 if (iCheckBoxList == null) {\r
715 iCheckBoxList = new ICheckBoxList();\r
716 iCheckBoxList.setBounds(new java.awt.Rectangle(197,142,188,74));\r
717 Vector<String> v = new Vector<String>();\r
718 v.add("IA32");\r
719 v.add("X64");\r
720 v.add("IPF");\r
721 v.add("EBC");\r
ce73a791 722 v.add("ARM");\r
723 v.add("PPC");\r
a13899c5 724 iCheckBoxList.setAllItems(v);\r
725 }\r
726 return iCheckBoxList;\r
727 }\r
728\r
729 protected JScrollPane getJScrollPaneGuid() {\r
730 if (jScrollPaneGuid== null) {\r
731 jScrollPaneGuid = new JScrollPane();\r
732 jScrollPaneGuid.setPreferredSize(new java.awt.Dimension(190,74));\r
733 jScrollPaneGuid.setLocation(new java.awt.Point(400,142));\r
734 jScrollPaneGuid.setSize(new java.awt.Dimension(260,74));\r
735 jScrollPaneGuid.setViewportView(getICheckBoxList1());\r
736 }\r
737 return jScrollPaneGuid;\r
738 }\r
739 /**\r
740 * This method initializes iCheckBoxList1 \r
741 * \r
742 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
743 */\r
744 private ICheckBoxList getICheckBoxList1() {\r
745 if (iCheckBoxList1 == null) {\r
746 iCheckBoxList1 = new ICheckBoxList();\r
747 iCheckBoxList1.setBounds(new java.awt.Rectangle(400,142,177,74));\r
748 Vector<String> v = new Vector<String>();\r
749 v.add("DATA_HUB_RECORD");\r
750 v.add("EFI_EVENT");\r
751 v.add("EFI_SYSTEM_CONFIGURATION_TABLE");\r
752 v.add("EFI_VARIABLE");\r
753 v.add("GUID");\r
754 v.add("HII_PACKAGE_LIST");\r
755 v.add("HOB");\r
756 v.add("TOKEN_SPACE_GUID");\r
757 \r
758 iCheckBoxList1.setAllItems(v);\r
759 }\r
760 return iCheckBoxList1;\r
761 }\r
762\r
763 private JScrollPane getJScrollPaneModule() {\r
764 if (jScrollPaneModule == null) {\r
765 jScrollPaneModule = new JScrollPane();\r
766 jScrollPaneModule.setBounds(new java.awt.Rectangle(14,142,170,74));\r
767 jScrollPaneModule.setPreferredSize(new java.awt.Dimension(170, 74));\r
768 jScrollPaneModule.setViewportView(getICheckBoxList2());\r
769 }\r
770 return jScrollPaneModule;\r
771 }\r
772 /**\r
773 * This method initializes iCheckBoxList2 \r
774 * \r
775 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
776 */\r
777 private ICheckBoxList getICheckBoxList2() {\r
778 if (iCheckBoxList2 == null) {\r
779 iCheckBoxList2 = new ICheckBoxList();\r
780 iCheckBoxList2.setBounds(new java.awt.Rectangle(14,142,170,74));\r
781 Vector<String> v = new Vector<String>();\r
782 v.add("BASE");\r
783 v.add("SEC");\r
784 v.add("PEI_CORE");\r
785 v.add("PEIM");\r
786 v.add("DXE_CORE");\r
787 v.add("DXE_DRIVER");\r
788 v.add("DXE_RUNTIME_DRIVER");\r
789 v.add("DXE_SAL_DRIVER");\r
790 v.add("DXE_SMM_DRIVER");\r
791 v.add("UEFI_DRIVER");\r
792 v.add("UEFI_APPLICATION");\r
793 v.add("USER_DEFINED");\r
794 iCheckBoxList2.setAllItems(v);\r
795 }\r
796 return iCheckBoxList2;\r
797 }\r
798\r
799 public static void main(String[] args){\r
800 new SpdGuidDecls().setVisible(true);\r
801 }\r
802\r
803 protected DefaultTableModel getModel() {\r
804 return model;\r
805 }\r
806\r
807 protected void setModel(DefaultTableModel model) {\r
808 this.model = model;\r
809 }\r
810 \r
811 protected String vectorToString(Vector<String> v) {\r
812 String s = " ";\r
813 for (int i = 0; i < v.size(); ++i) {\r
814 s += v.get(i);\r
815 s += " ";\r
816 }\r
817 return s.trim();\r
818 }\r
819 \r
820 protected Vector<String> stringToVector(String s){\r
821 if (s == null) {\r
822 return null;\r
823 }\r
824 String[] sArray = s.split(" ");\r
825 Vector<String> v = new Vector<String>();\r
826 for (int i = 0; i < sArray.length; ++i) {\r
827 v.add(sArray[i]);\r
828 }\r
829 return v;\r
830 }\r
831\r
832 protected JLabel getJLabel3() {\r
833 return jLabel3;\r
834 }\r
835}\r
836\r
837\r