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