]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java
1. Add feature of ModuleSA PcdBuildDefinition 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
908b1c05 255 if (docConsole != null) {\r
d6d24759 256 docConsole.setSaved(false);\r
908b1c05 257 }\r
a13899c5 258 updateRow(row, m);\r
259 }\r
260 }\r
261 \r
262 protected void updateRow(int row, TableModel m){\r
263 String name = m.getValueAt(row, 0) + "";\r
264 String cName = m.getValueAt(row, 1) + "";\r
265 String guid = m.getValueAt(row, 2) + "";\r
266 String help = m.getValueAt(row, 3) + "";\r
267 String archList = null;\r
268 if (m.getValueAt(row, 4) != null){\r
269 archList = m.getValueAt(row, 4).toString();\r
270 }\r
271 String modTypeList = null;\r
272 if (m.getValueAt(row, 5) != null) {\r
273 modTypeList = m.getValueAt(row, 5).toString(); \r
274 }\r
275 String guidTypeList = null;\r
276 if (m.getValueAt(row, 6) != null){\r
277 guidTypeList = m.getValueAt(row, 6).toString();\r
278 }\r
ce73a791 279 String[] rowData = {name, cName, guid, help};\r
280 if (!dataValidation(rowData)){\r
281 return;\r
282 }\r
a13899c5 283 \r
284 sfc.updateSpdGuidDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
285 }\r
286 /**\r
287 This method initializes jButtonAdd \r
288 \r
289 @return javax.swing.JButton \r
290 **/\r
291 protected JButton getJButtonAdd() {\r
292 if (jButtonAdd == null) {\r
293 jButtonAdd = new JButton();\r
294 jButtonAdd.setBounds(new java.awt.Rectangle(167,227,90,20));\r
295 jButtonAdd.setText("Add");\r
296 jButtonAdd.addActionListener(this);\r
297 }\r
298 return jButtonAdd;\r
299 }\r
300\r
301 /**\r
302 This method initializes jButtonRemove \r
303 \r
304 @return javax.swing.JButton \r
305 **/\r
306 protected JButton getJButtonRemove() {\r
307 if (jButtonRemove == null) {\r
308 jButtonRemove = new JButton();\r
309 jButtonRemove.setBounds(new java.awt.Rectangle(270,227,90,20));\r
310 jButtonRemove.setText("Remove");\r
311 jButtonRemove.addActionListener(this);\r
312 }\r
313 return jButtonRemove;\r
314 }\r
315\r
316 /**\r
317 This method initializes jButtonRemoveAll \r
318 \r
319 @return javax.swing.JButton \r
320 **/\r
321 protected JButton getJButtonClearAll() {\r
322 if (jButtonClearAll == null) {\r
323 jButtonClearAll = new JButton();\r
324 jButtonClearAll.setBounds(new java.awt.Rectangle(380,227,90,20));\r
325 jButtonClearAll.setText("Clear All");\r
326 jButtonClearAll.addActionListener(this);\r
327 }\r
328 return jButtonClearAll;\r
329 }\r
330\r
331 /**\r
332 This method initializes jButtonCancel \r
333 \r
334 @return javax.swing.JButton \r
335 **/\r
336 protected JButton getJButtonCancel() {\r
337 if (jButtonCancel == null) {\r
338 jButtonCancel = new JButton();\r
339 jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));\r
340 jButtonCancel.setLocation(new java.awt.Point(390, 305));\r
341 jButtonCancel.setText("Cancel");\r
342 jButtonCancel.setSize(new java.awt.Dimension(90, 20));\r
343 jButtonCancel.setVisible(false);\r
344 jButtonCancel.addActionListener(this);\r
345 }\r
346 return jButtonCancel;\r
347 }\r
348\r
349 /**\r
350 This method initializes jButton \r
351 \r
352 @return javax.swing.JButton \r
353 **/\r
354 protected JButton getJButtonOk() {\r
355 if (jButtonOk == null) {\r
356 jButtonOk = new JButton();\r
357 jButtonOk.setSize(new java.awt.Dimension(90, 20));\r
358 jButtonOk.setText("OK");\r
359 jButtonOk.setLocation(new java.awt.Point(290, 305));\r
360 jButtonOk.setVisible(false);\r
361 jButtonOk.addActionListener(this);\r
362 }\r
363 return jButtonOk;\r
364 }\r
365\r
366 /**\r
367 This is the default constructor\r
368 **/\r
369 public SpdGuidDecls() {\r
370 super();\r
371 initialize();\r
372 init();\r
373 \r
374 }\r
375\r
376 public SpdGuidDecls(PackageSurfaceAreaDocument.PackageSurfaceArea inPsa){\r
377 this();\r
378 sfc = new SpdFileContents(inPsa);\r
379 init(sfc);\r
380 }\r
d6d24759 381 \r
382 public SpdGuidDecls(OpeningPackageType opt) {\r
383 this(opt.getXmlSpd());\r
384 docConsole = opt;\r
385 }\r
a13899c5 386 /**\r
387 This method initializes this\r
388 \r
389 @return void\r
390 **/\r
391 protected void init() {\r
392 this.setContentPane(getJContentPane());\r
393 this.addInternalFrameListener(new InternalFrameAdapter(){\r
394 public void internalFrameDeactivated(InternalFrameEvent e){\r
395 if (jTable.isEditing()) {\r
396 jTable.getCellEditor().stopCellEditing();\r
397 }\r
398 }\r
399 });\r
400 this.setBounds(new java.awt.Rectangle(0, 0, 500, 370));\r
401 this.setVisible(true);\r
402 initFrame();\r
403 }\r
404\r
405 protected void init(SpdFileContents sfc){\r
406 if (sfc.getSpdGuidDeclarationCount() == 0) {\r
407 return ;\r
408 }\r
409 //\r
410 // initialize table using SpdFileContents object\r
411 //\r
412 String[][] saa = new String[sfc.getSpdGuidDeclarationCount()][7];\r
413 sfc.getSpdGuidDeclarations(saa);\r
414 int i = 0;\r
415 while (i < saa.length) {\r
416 model.addRow(saa[i]);\r
417 i++;\r
418 }\r
419 }\r
420 \r
421 protected JScrollPane getJContentPane(){\r
422 if (topScrollPane == null){\r
423 topScrollPane = new JScrollPane();\r
424 topScrollPane.setSize(new java.awt.Dimension(617,500));\r
425 topScrollPane.setPreferredSize(new java.awt.Dimension(498,500));\r
426 topScrollPane.setViewportView(getJContentPane1());\r
427 }\r
428 return topScrollPane;\r
429 }\r
430 \r
431 /**\r
432 This method initializes jContentPane\r
433 \r
434 @return javax.swing.JPanel\r
435 **/\r
436 protected JPanel getJContentPane1() {\r
437 if (jContentPane == null) {\r
438 jLabel3 = new JLabel();\r
439 jLabel3.setBounds(new java.awt.Rectangle(400,122,103,16));\r
440 jLabel3.setText("GUID Type List");\r
441 jLabel3.setEnabled(true);\r
442 jLabel2 = new JLabel();\r
443 jLabel2.setBounds(new java.awt.Rectangle(197,122,108,16));\r
444 jLabel2.setText("Supported Arch");\r
445 jLabel2.setEnabled(true);\r
446 jLabel1 = new JLabel();\r
447 jLabel1.setBounds(new java.awt.Rectangle(14,120,110,16));\r
448 jLabel1.setText("Supported Module");\r
449 jLabel1.setEnabled(true);\r
450 jLabel = new JLabel();\r
451 jLabel.setText("HelpText");\r
452 jLabel.setSize(new java.awt.Dimension(109,20));\r
453 jLabel.setLocation(new java.awt.Point(14,85));\r
454 jLabelVer = new JLabel();\r
455 jLabelVer.setBounds(new java.awt.Rectangle(14,60,111,20));\r
456 jLabelVer.setText("C_Name");\r
457 jLabelGuid = new JLabel();\r
458 jLabelGuid.setBounds(new java.awt.Rectangle(15,35,112,20));\r
459 jLabelGuid.setText("Guid Value");\r
460 jLabelName = new JLabel();\r
461 jLabelName.setBounds(new java.awt.Rectangle(15,10,113,20));\r
462 jLabelName.setText("Name");\r
463 jStarLabel1 = new StarLabel();\r
464 jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
465 jStarLabel3 = new StarLabel();\r
466 jStarLabel3.setLocation(new java.awt.Point(0, 35));\r
467 jStarLabel4 = new StarLabel();\r
468 jStarLabel4.setLocation(new java.awt.Point(0, 60));\r
469 jStarLabel2 = new StarLabel();\r
470 jStarLabel2.setLocation(new java.awt.Point(0, 85));\r
471 jStarLabel2.setVisible(true);\r
472 jContentPane = new JPanel();\r
473 jContentPane.setLayout(null);\r
474 jContentPane.setPreferredSize(new Dimension(480, 375));\r
475 jContentPane.add(jStarLabel1, null);\r
476 jContentPane.add(jStarLabel2, null);\r
477 jContentPane.add(jStarLabel3, null);\r
478 jContentPane.add(jStarLabel4, null);\r
479 jContentPane.add(jLabelVer, null);\r
480 jContentPane.add(getJTextFieldVersion(), null);\r
481 jContentPane.add(getJTextFieldAdd(), null);\r
482 jContentPane.add(getJScrollPane(), null);\r
483 jContentPane.add(getJButtonAdd(), null);\r
484 jContentPane.add(getJButtonRemove(), null);\r
485 jContentPane.add(getJButtonClearAll(), null);\r
486 jContentPane.add(getJButtonCancel(), null);\r
487 jContentPane.add(getJButtonOk(), null);\r
488 \r
489 jContentPane.add(getJButtonGen(), null);\r
490 jContentPane.add(jLabelName, null);\r
491 jContentPane.add(getJTextFieldName(), null);\r
492 jContentPane.add(jLabelGuid, null);\r
493 jContentPane.add(jLabel, null);\r
494 jContentPane.add(getJTextField(), null);\r
495 jContentPane.add(jLabel1, null);\r
496 jContentPane.add(jLabel2, null);\r
497 jContentPane.add(getJScrollPaneArch(), null);\r
498 jContentPane.add(getJScrollPaneGuid(), null);\r
499 jContentPane.add(getJScrollPaneModule(), null);\r
500 jContentPane.add(jLabel3, null);\r
501 }\r
502 return jContentPane;\r
503 }\r
504\r
505 /**\r
506 fill ComboBoxes with pre-defined contents\r
507 **/\r
508 protected void initFrame() {\r
509 \r
510 this.setTitle("GUID Declarations");\r
511\r
512 }\r
513\r
514 /* (non-Javadoc)\r
515 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
516 */\r
517 public void actionPerformed(ActionEvent arg0) {\r
d6d24759 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
f46d7c21 552 docConsole.setSaved(false);\r
a13899c5 553 model.addRow(row);\r
554 addRow(row);\r
555 }\r
556 //\r
557 // remove selected line\r
558 //\r
559 if (arg0.getSource() == jButtonRemove) {\r
560 if (jTable.isEditing()){\r
561 jTable.getCellEditor().stopCellEditing();\r
562 }\r
563 int rowSelected = selectedRow;\r
564 if (rowSelected >= 0) {\r
565 model.removeRow(rowSelected);\r
566 removeRow(rowSelected);\r
567 }\r
568 }\r
569\r
570 if (arg0.getSource() == jButtonClearAll) {\r
571 if (model.getRowCount() == 0) {\r
572 return;\r
573 }\r
574 model.setRowCount(0);\r
575 clearAllRow();\r
576 }\r
577 \r
578 if (arg0.getSource() == jButtonGen) {\r
ce73a791 579 jTextFieldAdd.setText(Tools.generateUuidString());\r
a13899c5 580 }\r
581 \r
582 if (arg0.getActionCommand().equals("GenGuidValue")) {\r
583 jTextFieldAdd.setText(guidDialog.getGuid());\r
584 }\r
585 \r
586 }\r
587 \r
ce73a791 588 protected boolean dataValidation(String[] row){\r
589 if (!DataValidation.isUiNameType(row[0])) {\r
590 JOptionPane.showMessageDialog(this, "Name is NOT UiNameType.");\r
591 return false;\r
592 }\r
593 if (!DataValidation.isGuid(row[2])) {\r
594 JOptionPane.showMessageDialog(this, "Guid Value is NOT GuidType.");\r
595 return false;\r
596 }\r
597 if (!DataValidation.isC_NameType(row[1])) {\r
598 JOptionPane.showMessageDialog(this, "C_Name is NOT C_NameType.");\r
599 return false;\r
600 }\r
601 if (row[3].length() == 0) {\r
602 JOptionPane.showMessageDialog(this, "HelpText could NOT be empty.");\r
603 return false;\r
604 }\r
605 return true;\r
606 }\r
607 \r
a13899c5 608 protected void addRow(String[] row) {\r
609 Vector<String> vArch = iCheckBoxList.getAllCheckedItemsString();\r
610 Vector<String> vModType = iCheckBoxList2.getAllCheckedItemsString();\r
611 Vector<String> vguidType = iCheckBoxList1.getAllCheckedItemsString();\r
612 sfc.genSpdGuidDeclarations(row[0], row[1], row[2], row[3], vArch, vModType, vguidType);\r
613 }\r
614 \r
615 protected void removeRow(int i){\r
616 sfc.removeSpdGuidDeclaration(i);\r
617 }\r
618 \r
619 protected void clearAllRow(){\r
620 sfc.removeSpdGuidDeclaration();\r
621 }\r
622\r
623 /**\r
624 Add contents in list to sfc\r
625 **/\r
626 protected void save() {\r
627 \r
628 }\r
629\r
630 /**\r
631 This method initializes jButtonBrowse \r
632 \r
633 @return javax.swing.JButton \r
634 **/\r
635 protected JButton getJButtonGen() {\r
636 if (jButtonGen == null) {\r
637 jButtonGen = new JButton();\r
638 jButtonGen.setBounds(new java.awt.Rectangle(379,58,92,21));\r
639 jButtonGen.setText("Gen GUID");\r
640 jButtonGen.setPreferredSize(new java.awt.Dimension(80,20));\r
641 jButtonGen.addActionListener(this);\r
642 }\r
643 return jButtonGen;\r
644 }\r
645 \r
646 /**\r
647 * This method initializes jTextFieldName \r
648 * \r
649 * @return javax.swing.JTextField \r
650 */\r
651 protected JTextField getJTextFieldName() {\r
652 if (jTextFieldName == null) {\r
653 jTextFieldName = new JTextField();\r
654 jTextFieldName.setBounds(new java.awt.Rectangle(138,10,337,20));\r
655 jTextFieldName.setPreferredSize(new java.awt.Dimension(335,20));\r
656 }\r
657 return jTextFieldName;\r
658 }\r
659\r
660 /**\r
661 * This method initializes jTextFieldVersion \r
662 * \r
663 * @return javax.swing.JTextField \r
664 */\r
665 protected JTextField getJTextFieldVersion() {\r
666 if (jTextFieldVersion == null) {\r
667 jTextFieldVersion = new JTextField();\r
668 jTextFieldVersion.setBounds(new java.awt.Rectangle(137,60,225,20));\r
669 jTextFieldVersion.setPreferredSize(new java.awt.Dimension(225,20));\r
670 }\r
671 return jTextFieldVersion;\r
672 }\r
673\r
674 public void componentResized(ComponentEvent arg0) {\r
675 int intPreferredWidth = 500;\r
676 \r
677 resizeComponentWidth(this.jTextFieldName, this.getWidth(), intPreferredWidth);\r
678 resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);\r
679 resizeComponentWidth(this.jTextFieldVersion, this.getWidth(), intPreferredWidth);\r
680 resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
681 resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
682 relocateComponentX(this.jButtonGen, this.getWidth(), this.getPreferredSize().width, 40);\r
683 \r
684 }\r
685 \r
686 /**\r
687 * This method initializes jTextField \r
688 * \r
689 * @return javax.swing.JTextField \r
690 */\r
691 private JTextField getJTextField() {\r
692 if (jTextField == null) {\r
693 jTextField = new JTextField();\r
694 jTextField.setBounds(new java.awt.Rectangle(136,85,337,20));\r
695 jTextField.setPreferredSize(new Dimension(335, 20));\r
696 }\r
697 return jTextField;\r
698 }\r
699\r
700 private JScrollPane getJScrollPaneArch() {\r
701 if (jScrollPaneArch == null) {\r
702 jScrollPaneArch = new JScrollPane();\r
703 jScrollPaneArch.setBounds(new java.awt.Rectangle(197,142,188,74));\r
704 jScrollPaneArch.setPreferredSize(new java.awt.Dimension(188, 74));\r
705 jScrollPaneArch.setViewportView(getICheckBoxList());\r
706 }\r
707 return jScrollPaneArch;\r
708 }\r
709 /**\r
710 * This method initializes iCheckBoxList \r
711 * \r
712 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
713 */\r
714 private ICheckBoxList getICheckBoxList() {\r
715 if (iCheckBoxList == null) {\r
716 iCheckBoxList = new ICheckBoxList();\r
717 iCheckBoxList.setBounds(new java.awt.Rectangle(197,142,188,74));\r
718 Vector<String> v = new Vector<String>();\r
719 v.add("IA32");\r
720 v.add("X64");\r
721 v.add("IPF");\r
722 v.add("EBC");\r
ce73a791 723 v.add("ARM");\r
724 v.add("PPC");\r
a13899c5 725 iCheckBoxList.setAllItems(v);\r
726 }\r
727 return iCheckBoxList;\r
728 }\r
729\r
730 protected JScrollPane getJScrollPaneGuid() {\r
731 if (jScrollPaneGuid== null) {\r
732 jScrollPaneGuid = new JScrollPane();\r
733 jScrollPaneGuid.setPreferredSize(new java.awt.Dimension(190,74));\r
734 jScrollPaneGuid.setLocation(new java.awt.Point(400,142));\r
735 jScrollPaneGuid.setSize(new java.awt.Dimension(260,74));\r
736 jScrollPaneGuid.setViewportView(getICheckBoxList1());\r
737 }\r
738 return jScrollPaneGuid;\r
739 }\r
740 /**\r
741 * This method initializes iCheckBoxList1 \r
742 * \r
743 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
744 */\r
745 private ICheckBoxList getICheckBoxList1() {\r
746 if (iCheckBoxList1 == null) {\r
747 iCheckBoxList1 = new ICheckBoxList();\r
748 iCheckBoxList1.setBounds(new java.awt.Rectangle(400,142,177,74));\r
749 Vector<String> v = new Vector<String>();\r
750 v.add("DATA_HUB_RECORD");\r
751 v.add("EFI_EVENT");\r
752 v.add("EFI_SYSTEM_CONFIGURATION_TABLE");\r
753 v.add("EFI_VARIABLE");\r
754 v.add("GUID");\r
755 v.add("HII_PACKAGE_LIST");\r
756 v.add("HOB");\r
757 v.add("TOKEN_SPACE_GUID");\r
758 \r
759 iCheckBoxList1.setAllItems(v);\r
760 }\r
761 return iCheckBoxList1;\r
762 }\r
763\r
764 private JScrollPane getJScrollPaneModule() {\r
765 if (jScrollPaneModule == null) {\r
766 jScrollPaneModule = new JScrollPane();\r
767 jScrollPaneModule.setBounds(new java.awt.Rectangle(14,142,170,74));\r
768 jScrollPaneModule.setPreferredSize(new java.awt.Dimension(170, 74));\r
769 jScrollPaneModule.setViewportView(getICheckBoxList2());\r
770 }\r
771 return jScrollPaneModule;\r
772 }\r
773 /**\r
774 * This method initializes iCheckBoxList2 \r
775 * \r
776 * @return org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList \r
777 */\r
778 private ICheckBoxList getICheckBoxList2() {\r
779 if (iCheckBoxList2 == null) {\r
780 iCheckBoxList2 = new ICheckBoxList();\r
781 iCheckBoxList2.setBounds(new java.awt.Rectangle(14,142,170,74));\r
782 Vector<String> v = new Vector<String>();\r
783 v.add("BASE");\r
784 v.add("SEC");\r
785 v.add("PEI_CORE");\r
786 v.add("PEIM");\r
787 v.add("DXE_CORE");\r
788 v.add("DXE_DRIVER");\r
789 v.add("DXE_RUNTIME_DRIVER");\r
790 v.add("DXE_SAL_DRIVER");\r
791 v.add("DXE_SMM_DRIVER");\r
792 v.add("UEFI_DRIVER");\r
793 v.add("UEFI_APPLICATION");\r
794 v.add("USER_DEFINED");\r
795 iCheckBoxList2.setAllItems(v);\r
796 }\r
797 return iCheckBoxList2;\r
798 }\r
799\r
800 public static void main(String[] args){\r
801 new SpdGuidDecls().setVisible(true);\r
802 }\r
803\r
804 protected DefaultTableModel getModel() {\r
805 return model;\r
806 }\r
807\r
808 protected void setModel(DefaultTableModel model) {\r
809 this.model = model;\r
810 }\r
811 \r
812 protected String vectorToString(Vector<String> v) {\r
813 String s = " ";\r
814 for (int i = 0; i < v.size(); ++i) {\r
815 s += v.get(i);\r
816 s += " ";\r
817 }\r
818 return s.trim();\r
819 }\r
820 \r
821 protected Vector<String> stringToVector(String s){\r
822 if (s == null) {\r
823 return null;\r
824 }\r
825 String[] sArray = s.split(" ");\r
826 Vector<String> v = new Vector<String>();\r
827 for (int i = 0; i < sArray.length; ++i) {\r
828 v.add(sArray[i]);\r
829 }\r
830 return v;\r
831 }\r
832\r
833 protected JLabel getJLabel3() {\r
834 return jLabel3;\r
835 }\r
836}\r
837\r
838\r